Java:将字节列表转换为字节数组
2022-09-01 04:13:55
试图解决一个应该很简单的问题。得到了一个字节列表,想要在函数末尾将其转换为字节数组。
final List<Byte> pdu = new ArrayList<Byte>();
....
return pdu.toArray(new byte[pdu.size()]);;
编译器不喜欢我的.如何解决这个问题?toArray
试图解决一个应该很简单的问题。得到了一个字节列表,想要在函数末尾将其转换为字节数组。
final List<Byte> pdu = new ArrayList<Byte>();
....
return pdu.toArray(new byte[pdu.size()]);;
编译器不喜欢我的.如何解决这个问题?toArray
编译器不喜欢它,因为不是。byte[]
Byte[]
你可以做的是使用commons-lang的:ArrayUtils.toPrimitive(wrapperCollection)
Byte[] bytes = pdu.toArray(new Byte[pdu.size()]);
return ArrayUtils.toPrimitive(bytes);
如果您无法使用 commons-lang,只需循环访问数组并用值填充另一个类型数组(它们将自动取消装箱)byte[]
如果你能忍受而不是 - 保持这种方式。Byte[]
byte[]
使用Guava的方法Bytes.toArray(Collection<Byte> collection)。。
List<Byte> list = ...
byte[] bytes = Bytes.toArray(list);
这样就省去了您自己需要的中间数组转换的麻烦。