今天一个小问题郁闷半天。
long转换为byte[]
public static byte[] longToBytes(long value) {
byte[] result = new byte[4];
for (int i = 3; i >= 0; i--) {
result[i] = (byte) ( (0xFFFFFFFF & value));
value >>= 8;
}
return result;
}
这个方法有问题吗?
long转换为byte[]
public static byte[] longToBytes(long value) {
byte[] result = new byte[4];
for (int i = 3; i >= 0; i--) {
result[i] = (byte) ( (0xFFFFFFFF & value));
value >>= 8;
}
return result;
}
这个方法有问题吗?
是什么意思,怎么回事!?
先把long转为String类型,然后利用String.getBytes()就可以了.
写成:
result[i] = (byte)value; // 自动截取最低字节result[i] = (byte) ( (0xFF & value)); // 仅仅取最低字节都是可以的.主要的是截取之后,你要 value >>= 8; 一下.