ByteBuffer byteBuffer通过TCP/IP连接接收,在NetBeans模拟器中可见,并且包含此中断的字节4,5,6和7中的0x2b,0x69,0x80和0x3f。 如果endianess是错误的,我会期望一个不正确的浮点值或可能某种类型的数值异常,但不是总是为0.0的各种4字节组。 同样的事情发生在从这个ByteBuffer读取的索引8,12等处的其他一些浮点数上。为什么以下总是0.0?为什么ByteBuffer.getFloat返回0.0?
float f = byteBuffer.getFloat(4);
我怀疑'ByteBuffer'不包含你所想象的那样。在你调用'getFloat(4)'之前,你可以调用'byteBuffer.get(i)'作为'i = 4,5,6,7',并打印出四个值吗? – NPE 2012-01-18 16:03:04
该死!我正在做一个'ByteBuffer byteBuffer = ByteBuffer.allocate(status.length)',它是'status'包含数据。我确定'.allocate'可能只是创建了byteBuffer,现在我需要将byte []状态复制到byteBuffer。 – jacknad 2012-01-18 16:12:06