byte []到int和反之java

时间:2013-09-02 13:21:58

标签: java int type-conversion bytearray

我有一个将int转换为byte []

的方法
private static byte[] intToBytes(int i)
{

 byte[] integerBs = new byte[MAX_INT_LEN];
 integerBs[0] = (byte) ((i >>> 24) & 0xFF);
 integerBs[1] = (byte) ((i >>> 16) & 0xFF);
 integerBs[2] = (byte) ((i >>> 8) & 0xFF);
 integerBs[3] = (byte) (i & 0xFF);
 return integerBs;
}

我想说我尝试将整数4转换为位:

byte[] lenBs = intToBytes(4);
int a=(int)lenBs[0];
System.out.println("result:"+a);

MAX_INT_LENGTH的值为4

我得到结果:0作为方法的参数放入的每个int。请告诉我哪里出错了。谢谢。

1 个答案:

答案 0 :(得分:2)

lenBs [0]刚刚获得:

integerBs[0] = (byte) ((i >>> 24) & 0xFF);

...在i = 4的情况下,integerBs [0] == 0。