そのうちの1つは整数をバイト配列に変換し、もう1つはバイト配列を整数に変換する2つのメソッドがあります。しかし、どちらもバイト配列の長さを 4 未満に定義すると、例外が発生します。両方の方法を修正するにはどうすればよいですか。
public class Test {
public Test() {
}
public static int getIntegerFromByte(byte[] byteArr) {
return (byteArr[0] ) << 24 | (byteArr[1] & 0xFF) << 16 | (byteArr[2] & 0xFF) << 8 | (byteArr[3] & 0xFF);
}
public byte[] getByteArrayFromInteger(int intValue ,int byteArrSize) {
ByteBuffer wrapped = ByteBuffer.allocate(byteArrSize);
wrapped.putInt(intValue);
byte[] byteArray = wrapped.array();
return byteArray;
}
public static void main (String []args) throws IOException {
Test app = new Test();
byte [] b = app.getByteArrayFromInteger(1, 3);
System.out.println("Length of Byte:\t"+ b.length+ "\n Value: \t"+ getIntegerFromByte(b));
byte [] byteArr = new byte[3];
byteArr[0] = 0;
byteArr[1] = 0;
byteArr[2] = 1;
System.out.println("Length of Byte:\t"+ byteArr.length+ "\n Value: \t"+ getIntegerFromByte(byteArr));
}
}
ありがとう