在JAVA中,对于Ints,Booleans和所有原始数据类型(我相信),未定义 getByte() 方法。
答案 0 :(得分:0)
您可以使用ByteBuffer将基元转换为byte[]
,反之亦然
示例
public static byte[] toByteArray(int value) {
ByteBuffer bb = ByteBuffer.allocate(4).order(ByteOrder.nativeOrder());
return bb.putInt(value).array();
}
public static int toInteger(byte[] bytes) {
ByteBuffer bb = ByteBuffer.wrap(bytes).order(ByteOrder.nativeOrder());
return bb.getInt();
}
答案 1 :(得分:0)
通常,如果要写入二进制流,则只需要单个字节。如果这是它的用途,我建议您使用DataOutputStream
将network / big-endian写入OutputStream或ByteBuffer
如果您需要little-endian或者您正在写入NIO或NIO2。
如果需要执行逐位操作(例如获取低8位),则可以使用&
的掩码或>>>
的某种组合来获取其他位。要使用哪些操作取决于您的需要。