Я пытаюсь «очистить» ByteBuffer
, чтобы быть всеми нулевыми байтами (все 0x00
). Я попытался перебрать все позиции в буфере и установить их на 0x00
, но эффективность плохая. Есть ли лучший способ быстро очистить ByteBuffer
- аналогично тому, что делает BitSet.clear()
?Быстрая стирание (непонятно) a ByteBuffer в Java
Обратите внимание: ByteBuffer.clear()
не подходит для меня в этом сценарии - мне нужно стереть все данные внутри буфера, а не просто сбросить указатель на начало.
Любые подсказки?
Редактировать: ByteBuffer используется как часть хэш-таблицы и поддерживает ссылки на записи хеш-таблицы. Каждый раз, когда хеш-таблицу нужно очищать, мне нужно сбросить записи хэш-таблицы для последующей вставки хэш-таблицы. Поскольку хэш-таблица получает доступ случайно, я не могу просто очистить() состояние байтового буфера.
Не могли бы вы объяснить пример использования более подробно? Из чего вы получаете байтовый буффер? – jontro
Почему вы думаете, что вам нужно обнулить буфер? – EJP
Является ли это прямым буфером? Если нет, как насчет 'ByteBuffer.wrap (новый байт [123456]),' –