最近在使用byte[]数组,当指定数组大小大于真实数据的字节数的时候,byte[]数组中会自动填充[],因为我所需要存入的数据大小不一定,所以想请教一下高手,如何去除这些多余的[]。
例如 byte[] buf=new byte[32];
存入一定数据后结果是:
buf={1,4,2,5,[],[],[],[],[],.....};
------解决思路----------------------
如果大小是动态的话,用ArrayList这个类吧。如下代码:
/**
* @author zhuangqing
*/
public class Test {
public static void main(String[] args) {
ArrayList<Byte> byteList = new ArrayList<Byte>();
byteList.add((byte)1);
byteList.add((byte)2);
byteList.add((byte)3);
byteList.add((byte) 4);
System.out.println(byteList);
System.out.println("==============");
for (byte val : byteList) {
System.out.println(val);
}
Byte[] bytes = new Byte[byteList.size()];
byteList.toArray(bytes);
System.out.println(Arrays.toString(bytes));
}
}
输出结果:
[1, 2, 3, 4]
==============
1
2
3
4
[1, 2, 3, 4]