У меня есть массив byte
в Java размером 4, который я пытаюсь поместить первые два байта в ByteBuffer
.
Вот как я это делаю:
byte[] array = new byte[4];
ByteBuffer buff = ByteBuffer.allocate(2);
buff.put(array, 0, 2);
Что не так с моим кодом?
РЕДАКТИРОВАТЬ:
byte[] currRecord = new byte[4];
byte[] leftRecord = new byte[4];
// Code that populates the records
ByteBuffer currKey = ByteBuffer.allocate(2);
currKey = currKey.put(currRecord, 0, 2);
ByteBuffer leftKey = ByteBuffer.allocate(2);
leftKey = leftKey.put(leftRecord, 0, 2);
Затем я пытаюсь сравнить оба ByteBuffers
следующим образом:
if (currKey.compareTo(leftKey) >= 0)
return;
Мое сравнение всегда неверно.При отладке я почти уверен, что currRecord
и leftRecord
имеют правильные значения.ByteBuffer
также имеют правильные значения (согласно отладчику).В чем здесь проблема?