ful*_*ton 22 java arrays arraylist primitive-types
如何转换ArrayList<Byte>为byte[]?
ArrayList.toArray()让我回来了Byte[].
Mic*_*rdt 11
byte[] result = new byte[list.size()];
for(int i = 0; i < list.size(); i++) {
result[i] = list.get(i).byteValue();
}
Run Code Online (Sandbox Code Playgroud)
是的,Java的集合在原始类型方面很烦人.
在调用toArray()之后,您可以将结果传递给Apache Commons toPrimitive方法:
没有内置的方法想到.但是,编写一个代码非常简单:
public static byte[] toByteArray(List<Byte> in) {
final int n = in.size();
byte ret[] = new byte[n];
for (int i = 0; i < n; i++) {
ret[i] = in.get(i);
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
请注意,这将为您提供NullPointerExceptionif inis null或者是否包含nulls.如果您需要不同的行为,如何更改此功能非常明显.