Java Short 数组转换为 Byte 数组的最佳方法
要将 Java 中的 short 数组转换为 byte 数组,可以使用循环遍历 short 数组,并将每个 short 值转换为 byte 值,然后将其存储在新的 byte 数组中。以下是一个示例代码:
public static byte[] shortToByte(short[] shortArray) {
int length = shortArray.length;
byte[] byteArray = new byte[length * 2]; // short 类型占两个字节
for (int i = 0; i < length; i++) {
byteArray[i * 2] = (byte) (shortArray[i] >> 8); // 高位字节
byteArray[i * 2 + 1] = (byte) shortArray[i]; // 低位字节
}
return byteArray;
}
在上面的代码中,我们首先创建一个长度为shortArray.length * 2的 byte 数组,因为每个 short 值占两个字节。然后,通过循环遍历 short 数组,将每个 short 值转换为 byte 值,并分别存储在新的 byte 数组的高位字节和低位字节位置上。最后,返回转换后的 byte 数组。
使用示例:
short[] shortArray = {1, 2, 3, 4, 5};
byte[] byteArray = shortToByte(shortArray);
for (byte b : byteArray) {
System.out.print(b + " ");
}
输出结果:
0 1 0 2 0 3 0 4 0 5
请注意,这种转换会丢失 short 值的精度,因为 byte 类型的范围为 -128 到 127。如果 short 值超出了该范围,转换后的 byte 值可能不正确。
原文地址: https://www.cveoy.top/t/topic/qnWd 著作权归作者所有。请勿转载和采集!