从List <Byte>创建byte []

mys*_*mic 7 java

最有效的方法是什么?

Bom*_*mbe 14

byte[] byteArray = new byte[byteList.size()];
for (int index = 0; index < byteList.size(); index++) {
    byteArray[index] = byteList.get(index);
}
Run Code Online (Sandbox Code Playgroud)

您可能不喜欢它,但这是创建Genuine™Array®的唯一方法byte.

正如评论中指出的那样,还有其他方法.然而,这些方法都没有绕过a)创建数组和b)分配每个元素.这个使用迭代器.

byte[] byteArray = new byte[byteList.size()];
int index = 0;
for (byte b : byteList) {
    byteArray[index++] = b;
}
Run Code Online (Sandbox Code Playgroud)