当前位置: 代码迷 >> Java相关 >> Byte集合转数组的有关问题
  详细解决方案

Byte集合转数组的有关问题

热度:79   发布时间:2016-04-22 21:00:01.0
Byte集合转数组的问题,在线等
求助:

List<Byte> bList = new ArrayList<Byte>();
bList.add((byte)1);
bList.add((byte)2);
bList.add((byte)3);
bList.add((byte)4);

System.out.println("hello");
for (int i = 0; i < bList.size(); i++) {
System.out.println("--->>"+bList.get(i));
}

byte[] bArr = new byte[bList.size()];
//如何将bList赋给bArr,C#中bList.CopyTo(bArr),在Java中该怎么处理

------解决方案--------------------
引用:
Quote: 引用:

        Byte[] bArr = new Byte[bList.size()];
        bArr=bList.toArray(new Byte[0]);
        System.out.println(Arrays.asList(bArr));

bArr 需要是byte[],不可以是Byte[].

笨点的
        byte[] bArr = new byte[bList.size()];
        for(int i = 0; i < bList.size(); i++)
        {
         bArr[i]=bList.get(i);
        }

------解决方案--------------------
Java没有相应的函数吧?4楼就是很好的代码啊,你调用那些函数内部实现也就是差不多的代码。

不过相对于4楼的代码可以稍微优化一下,调用get在使用LinkedList时候效率太低,这样写可能稍微好一点。
		byte[] bArr = new byte[bList.size()];
int i = 0;
for (byte b : bList) {
bArr[i++] = b;
}
  相关解决方案