如何将byte[]转换为Byte[],反之亦然?

2022-08-31 11:21:18

在不使用任何第三方库的情况下,如何转换为和也转换为 ?byte[]Byte[]Byte[]byte[]

有没有办法仅使用标准库快速完成?


答案 1

字节[] 到字节[] :

byte[] bytes = ...;
Byte[] byteObject = ArrayUtils.toObject(bytes);

字节[] 到字节[] :

Byte[] byteObject = new Byte[0];
byte[] bytes = ArrayUtils.toPrimitive(byteObject);

答案 2

Byte类是基元 的包装器。这应该可以完成以下工作:byte

byte[] bytes = new byte[10];
Byte[] byteObjects = new Byte[bytes.length];

int i=0;    
// Associating Byte array values with bytes. (byte[] to Byte[])
for(byte b: bytes)
   byteObjects[i++] = b;  // Autoboxing.

....

int j=0;
// Unboxing Byte values. (Byte[] to byte[])
for(Byte b: byteObjects)
    bytes[j++] = b.byteValue();