Определить количество элементов в FloatBuffer - PullRequest
3 голосов
/ 30 августа 2011

FloatBuffer имеет метод capacity(), который сообщает нам максимальную емкость FloatBuffer.Однако, это не говорит нам, сколько элементов находится в этом буфере.Так как же я могу определить количество элементов в FloatBuffer?Я пытаюсь определить, заполнен ли мой FloatBuffer или частично заполнен.

Ответы [ 4 ]

6 голосов
/ 30 августа 2011

Я никогда не могу держать буфер NIO прямо в моей голове, но remaining() может быть тем, что вы ищете ...

Возвращает количество элементов междутекущая позиция и лимит.

(или просто используйте hasRemaining(), если вам нужен простой логический тип ...)

2 голосов
/ 30 августа 2011

Вы не можете.Как и в случае с массивом с плавающей точкой, вы можете получить длину, но какие из них установлены, определяется приложением.

0 голосов
/ 27 февраля 2019

Для целей отладки просто используйте

floatBuffer.toString ()

В конце строки будет показана информация о текущей позиции и емкости, например,

... [pos = 0 lim = 1024 cap = 1024]

0 голосов
/ 30 августа 2011

Итак, как я могу определить количество элементов в FloatBuffer?

Разве это не просто позиция ()?

Чтобы определить, можете ли вы написать больше, просто проверьте fb.remaining ()> 0 или fb.hasRemaining ().

...