List<byte[]> listOfByteArrays;


我想通过在byte[]中附加所有元素,将存储在该List中的所有byte[]变为一个List。我知道一种方法,那就是使用System.arrayCopy(),但是在循环中使用它会有点混乱。试图找到一种更好的方法,但是没有。有指针吗?我可以使用任何外部API吗?

最佳答案

Guava的单线:

Bytes.concat(listOfByteArray.toArray(new byte[0][]));


或更长一点(在较短版本的toArray内部保留一个字节数组分配)

Bytes.concat(listOfByteArray.toArray(new byte[listOfByteArray.size()][]));

08-05 17:22