此问题已经在这里有了答案:
请先阅读!我的问题在Java 8,
中显然,在提出这些问题时,java 8还不存在。
How to convert an ArrayList containing Integers to primitive int array?至今10年!Convert ArrayList<Byte> into a byte[]今天已经8年了!
我有此代码:
List<Byte> listByte = new ArrayList<>();
// fill the List with Byte Wrapper...
我有错误
byte[] arrayByte = listByte.stream().map(B -> B.byteValue()).toArray();
我也有错误。
byte[] arrayByte = listByte.toArray(new byte[0]);
还有其他方法代替循环方法吗?
您可以尝试这样做:
listByte.stream().collect(ByteArrayOutputStream::new, (baos, i) -> baos.write((byte) i),
(baos1, baos2) -> baos1.write(baos2.toByteArray(), 0, baos2.size()))
.toByteArray()