Android 开发:Byte 数组与 Short 数组互转接口实现
Android 开发:Byte 数组与 Short 数组互转接口实现
本文提供两个 Java 接口,分别用于实现 byte 数组转 short 数组和 short 数组转 byte 数组,并附带示例代码和实现。适用于需要在 Android 开发中进行数据类型转换的场景。
接口定义
接口 1:Byte 数组转 Short 数组
public interface ByteToShortConverter {
short[] convert(byte[] byteArray);
}
接口 2:Short 数组转 Byte 数组
public interface ShortToByteConverter {
byte[] convert(short[] shortArray);
}
使用示例
public class Main {
public static void main(String[] args) {
ByteToShortConverter byteToShortConverter = new ByteToShortConverterImpl();
ShortToByteConverter shortToByteConverter = new ShortToByteConverterImpl();
byte[] byteArray = {1, 2, 3, 4};
short[] shortArray = byteToShortConverter.convert(byteArray);
System.out.println(Arrays.toString(shortArray)); // [258, 772]
byte[] convertedByteArray = shortToByteConverter.convert(shortArray);
System.out.println(Arrays.toString(convertedByteArray)); // [1, 0, 2, 0]
}
}
实现示例
实现示例 1:Byte 数组转 Short 数组
public class ByteToShortConverterImpl implements ByteToShortConverter {
@Override
public short[] convert(byte[] byteArray) {
int length = byteArray.length / 2;
short[] shortArray = new short[length];
for (int i = 0; i < length; i++) {
shortArray[i] = (short) (((byteArray[i * 2] & 0xFF) << 8) | (byteArray[i * 2 + 1] & 0xFF));
}
return shortArray;
}
}
实现示例 2:Short 数组转 Byte 数组
public class ShortToByteConverterImpl implements ShortToByteConverter {
@Override
public byte[] convert(short[] shortArray) {
int length = shortArray.length * 2;
byte[] byteArray = new byte[length];
for (int i = 0; i < shortArray.length; i++) {
byteArray[i * 2] = (byte) (shortArray[i] >> 8);
byteArray[i * 2 + 1] = (byte) shortArray[i];
}
return byteArray;
}
}
注意: 以上代码示例仅供参考,实际应用中可能需要根据具体需求进行修改和优化。
原文地址: https://www.cveoy.top/t/topic/qn0N 著作权归作者所有。请勿转载和采集!