非常小的一段代碼,但我對此行爲完全感到驚訝。我有一個14字節的鍵在字節數組中。我把這個字節數組放到一個ByteBuffer中,然後做一個getLong給了我一個BufferUnderflowException。不明白爲什麼?BufferUnderflowException在分配緩衝區時執行getLong時發生異常14字節
byte key[] = new byte[14];
key[13] = (byte) 3;
key[12] = (byte) 21;
key[11] = (byte) 1;
key[10] = (byte) 15;
key[9] = (byte) 66;
key[8] = (byte) 64;
key[7] = (byte) 3;
key[6] = (byte) 65;
key[5] = (byte) -10;
key[4] = (byte) -65;
key[3] = (byte) 3;
key[2] = (byte) 65;
key[1] = (byte) -10;
key[0] = (byte) -65;
ByteBuffer b = ByteBuffer.allocate(14);
b.put(key);
long l = b.getLong();
所以我需要倒帶? – sethi
是的,這個假設是正確的 –