Что делает offset в методе get() у ByteBuffer?
Даже help не вновит ясности. Вроде как смещение - но при попытке сместить и прочитать начинают сыпаться ошибки переполнения буфера.
Справка написана не особо понятно, но, к счастью, есть исходник реализации. И, заглянув в него, мы узнаём, что это.... индекс, с которого надо начить запись в массив!!
Конечно, с точки зрения проектирования это настоящий кошмар. Потому что:
Даже help не вновит ясности. Вроде как смещение - но при попытке сместить и прочитать начинают сыпаться ошибки переполнения буфера.
Справка написана не особо понятно, но, к счастью, есть исходник реализации. И, заглянув в него, мы узнаём, что это.... индекс, с которого надо начить запись в массив!!
... int end = offset + buffer; for(int i = offset; i < end; i++) dst[i] = get(); ...
Конечно, с точки зрения проектирования это настоящий кошмар. Потому что:
- Даже со справкой не очень понятно, как использовать.
- Реализована совершенно редкая фича вместо фичи нужной ("прочитать начиная со смещения" смотрелось бы тут куда уместней).
Комментариев нет:
Отправить комментарий