要将 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 值可能不正确。

Java Short 数组转换为 Byte 数组的最佳方法

原文地址: https://www.cveoy.top/t/topic/qnWd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录