ByteBuffer
这样做效果很好:只需输入64
long
值并得到
byte[]
使用外
array()
方法。这个
ByteOrder
类可以有效地处理endian问题。例如,将评论中建议的方法
wierob
:
private static byte[] xform(long[] la, ByteOrder order) {
ByteBuffer bb = ByteBuffer.allocate(la.length * 8);
bb.order(order);
bb.asLongBuffer().put(la);
return bb.array();
}
附录:结果
字节[]
组件被签署,8位值,但是Java阵列需要
nonnegative integer index values
.铸造
byte
对
int
将导致符号扩展,但屏蔽高阶位将给出
byte b
以下内容:
int i = (int) b & 0xFF;
这个
answer
详细说明适用的运算符优先规则。与此相关
answer
演示类似的方法
double
价值观。