Есть ли чистый безопасный способ обнаружения, если ByteBuffer нуждается в переворачивании?ByteBuffer, что является чистым способом определить, нужно ли его перевернуть
У меня есть ByteBuffer, который используется для упаковки и распаковки структуры данных, а также для хранения байтов, которые должны быть упакованы/распакованы.
Однако, если операция записи только что была выполнена или операция чтения выполнена, или если ByteBuffer был передан моему коду, я не могу гарантировать, что буфер находится в режиме записи или режиме чтения без ручного управления позицией и ограничением ,
Частичные чтения и записи также могут быть добавлены к этой проблеме. Я принимаю соглашение о том, что буфер остается в режиме записи, и создается дубликат и переводится в целях чтения. Когда буфер передается в мой код, он проверяется вручную, а положение и предел устанавливаются так же, как и в режиме записи. Конечно, есть лучший способ.
Как Java не может обеспечить эту инкапсуляцию в API, это кажется важной функцией ... без нее вы никогда не знаете наверняка, находитесь ли вы в режиме чтения или записи, если вы используете флип() внутри блоков «if» , – mins