DataBuffer
байтов.
Публичные методы
абстрактный BooleanDataBuffer | каклогические значения () Верните этот буфер байтов как буфер логических значений. |
абстрактный DoubleDataBuffer | какДаблс () Верните этот буфер байтов как буфер двойных значений. |
абстрактный FloatDataBuffer | как поплавки () Верните этот буфер байтов как буфер чисел с плавающей запятой. |
абстрактный IntDataBuffer | asInts () Верните этот буфер байтов как буфер целых чисел. |
абстрактный LongDataBuffer | асЛонгс () Верните этот буфер байтов как буфер длинных значений. |
абстрактный ShortDataBuffer | asShorts () Верните этот буфер байтов как буфер шорт. |
абстрактный ByteDataBuffer | copyTo ( DataBuffer <Byte> dst, длинный размер) |
абстрактный байт | getByte (длинный индекс) Считывает байт по заданному индексу. |
абстрактный байт | getObject (длинный индекс) Считывает значение по заданному индексу. |
абстрактный ByteDataBuffer | узкий (длинный размер) Создает новый буфер, содержимое которого является общей подпоследовательностью содержимого этого буфера, размер которого установлен на заданное значение. |
абстрактный ByteDataBuffer | смещение (длинный индекс) Создает новый буфер, содержимое которого является общей подпоследовательностью содержимого этого буфера, начиная с заданного индекса. |
абстрактный ByteDataBuffer | чтение (байт[] dst) Метод массового получения с использованием байтовых массивов. |
абстрактный ByteDataBuffer | чтение (байт[] dst, смещение целого числа, длина целого числа) Метод массового получения с использованием байтовых массивов. |
абстрактный ByteDataBuffer | setByte (байтовое значение, длинный индекс) Записывает данный байт в этот буфер по заданному индексу. |
абстрактный ByteDataBuffer | setObject (байтовое значение, длинный индекс) |
абстрактный ByteDataBuffer | срез (длинный индекс, длинный размер) Создает новый буфер, содержимое которого является общей подпоследовательностью содержимого этого буфера, начиная с заданного индекса и заданного размера. |
абстрактный DataBufferWindow <ByteDataBuffer> | окно (длинный размер) Создает DataBufferWindow , который обеспечивает частичное представление этого буфера. |
абстрактный ByteDataBuffer | запись (байт[] источник) Метод массового размещения с использованием байтовых массивов. |
абстрактный ByteDataBuffer | запись (байт[] src, смещение целого числа, длина целого числа) Метод массового размещения с использованием байтовых массивов. |
Унаследованные методы
Публичные методы
общедоступный абстрактный BooleanDataBuffer asBooleans ()
Верните этот буфер байтов как буфер логических значений.
Возвращенный буфер обеспечивает другое представление той же памяти, что и исходный байтовый буфер, а это означает, что изменение значения в одном повлияет на другое.
Возврат
- этот буфер как
BooleanDataBuffer
Броски
IllegalStateException | если этот буфер невозможно преобразовать |
---|
общедоступный абстрактный DoubleDataBuffer asDoubles ()
Верните этот буфер байтов как буфер двойных значений.
Возвращенный буфер обеспечивает другое представление той же памяти, что и исходный байтовый буфер, а это означает, что изменение значения в одном повлияет на другое.
Возврат
- этот буфер как
DoubleDataBuffer
Броски
IllegalStateException | если этот буфер невозможно преобразовать |
---|
общедоступный абстрактный FloatDataBuffer asFloats ()
Верните этот буфер байтов как буфер чисел с плавающей запятой.
Возвращенный буфер обеспечивает другое представление той же памяти, что и исходный байтовый буфер, а это означает, что изменение значения в одном повлияет на другое.
Возврат
- этот буфер как
FloatDataBuffer
Броски
IllegalStateException | если этот буфер невозможно преобразовать |
---|
общедоступный абстрактный IntDataBuffer asInts ()
Верните этот буфер байтов как буфер целых чисел.
Возвращенный буфер обеспечивает другое представление той же памяти, что и исходный байтовый буфер, а это означает, что изменение значения в одном повлияет на другое.
Возврат
- этот буфер как
IntDataBuffer
Броски
IllegalStateException | если этот буфер невозможно преобразовать |
---|
общедоступный абстрактный LongDataBuffer asLongs ()
Верните этот буфер байтов как буфер длинных значений.
Возвращенный буфер обеспечивает другое представление той же памяти, что и исходный байтовый буфер, а это означает, что изменение значения в одном повлияет на другое.
Возврат
- этот буфер как
LongDataBuffer
Броски
IllegalStateException | если этот буфер невозможно преобразовать |
---|
общедоступный абстрактный ShortDataBuffer asShorts ()
Верните этот буфер байтов как буфер шорт.
Возвращенный буфер обеспечивает другое представление той же памяти, что и исходный байтовый буфер, а это означает, что изменение значения в одном повлияет на другое.
Возврат
- этот буфер как
ShortDataBuffer
Броски
IllegalStateException | если этот буфер невозможно преобразовать |
---|
общедоступный абстрактный байт getByte (длинный индекс)
Считывает байт по заданному индексу.
Параметры
индекс | индекс, из которого будет считываться число с плавающей запятой |
---|
Возврат
- байт по данному индексу
Броски
Индексаутофбаундсисключение | если индекс отрицателен или не меньше размера буфера |
---|
общедоступный абстрактный байт getObject (длинный индекс)
Считывает значение по заданному индексу. Важно: Использование этого метода должно быть ограничено буферами не примитивных типов или когда тип данных не детерминированно известен вызывающей стороне. В любом другом случае предпочтительнее использовать его примитивный вариант, который значительно улучшит производительность (например, IntDataBuffer.getInt(idx)
Параметры
индекс | индекс, из которого будет считываться число с плавающей запятой |
---|
Возврат
- значение по данному индексу
общедоступный абстрактный ByteDataBuffer узкий (длинный размер)
Создает новый буфер, содержимое которого является общей подпоследовательностью содержимого этого буфера, размер которого установлен на заданное значение.
Новый размер не должен превышать этот размер буфера. Изменения содержимого этого буфера будут видны в новом буфере и наоборот. Новый буфер будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
Этот вызов эквивалентен slice(0, size)
Параметры
размер | размер этого нового буфера |
---|
Возврат
- новый буфер
общедоступное абстрактное смещение ByteDataBuffer (длинный индекс)
Создает новый буфер, содержимое которого является общей подпоследовательностью содержимого этого буфера, начиная с заданного индекса.
Индекс не должен быть больше этого размера буфера. Изменения содержимого этого буфера будут видны в новом буфере и наоборот. Новый буфер будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
Этот вызов эквивалентен slice(index, size() - index)
Параметры
индекс | индекс первого значения созданного нового буфера не должен быть больше size() |
---|
Возврат
- новый буфер
публичное абстрактное чтение ByteDataBuffer (byte[] dst)
Метод массового получения с использованием байтовых массивов.
Этот метод передает значения из этого буфера в заданный массив назначения. Если в буфере меньше значений, чем требуется для удовлетворения запроса, то есть если dst.length > size()
, значения не передаются и создается исключение BufferUnderflowException.
В противном случае этот метод копирует значения n = dst.length
из этого буфера в заданный массив.
Параметры
летнее время | массив, в который должны быть записаны значения |
---|
Возврат
- этот буфер
Броски
BufferUnderflowException | если недостаточно значений для копирования из этого буфера |
---|
общедоступное абстрактное чтение ByteDataBuffer (byte[] dst, смещение int, длина int)
Метод массового получения с использованием байтовых массивов.
Этот метод передает значения из этого буфера в заданный массив назначения. Если в буфере меньше значений, чем требуется для удовлетворения запроса, то есть если length > size()
, значения не передаются и создается исключение BufferUnderflowException.
В противном случае этот метод копирует значения n = length
из этого буфера в заданный массив, начиная с заданного смещения.
Параметры
летнее время | массив, в который должны быть записаны значения |
---|---|
компенсировать | смещение в массиве первого записываемого значения; должно быть неотрицательным и не превышать dst.length |
длина | максимальное количество значений, записываемых в данный массив; должно быть неотрицательным и не превышать dst.length - offset |
Возврат
- этот буфер
Броски
BufferUnderflowException | если в этом буфере осталось меньше значений длины |
---|---|
Индексаутофбаундсисключение | если предварительные условия для параметров смещения и длины не выполняются |
общедоступный абстрактный ByteDataBuffer setByte (байтовое значение, длинный индекс)
Записывает данный байт в этот буфер по заданному индексу.
Параметры
ценить | байт, который нужно записать |
---|---|
индекс | индекс, по которому будет записано значение |
Возврат
- этот буфер
Броски
Индексаутофбаундсисключение | если индекс отрицателен или не меньше размера буфера |
---|---|
ReadOnlyBufferException | если этот буфер доступен только для чтения |
общедоступный абстрактный фрагмент ByteDataBuffer (длинный индекс, длинный размер)
Создает новый буфер, содержимое которого является общей подпоследовательностью содержимого этого буфера, начиная с заданного индекса и заданного размера.
Индекс плюс новый размер не должен превышать этот размер буфера. Изменения содержимого этого буфера будут видны в новом буфере и наоборот. Новый буфер будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
Параметры
индекс | индекс первого значения созданного нового буфера |
---|---|
размер | размер этого нового буфера не должен быть больше, чем size() |
Возврат
- новый буфер
общедоступное абстрактное окно DataBufferWindow < ByteDataBuffer > (длинный размер)
Создает DataBufferWindow
, который обеспечивает частичное представление этого буфера.
Созданное окно имеет фиксированный размер и может "slide"
по этому буферу, обеспечивая различные представления данных без выделения нового экземпляра буфера, как это делает offset(long)
. Это повышает общую производительность при частом повторении этой операции. Например:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}
Возвращенный объект имеет состояние и не является потокобезопасным.
Параметры
размер | размер окна |
---|
Возврат
- новое окно, которое начинается с индекса 0 этого буфера
публичная абстрактная запись ByteDataBuffer (byte[] src)
Метод массового размещения с использованием байтовых массивов.
Этот метод передает значения из данного исходного массива в этот буфер. Если в исходном массиве больше значений, чем в этом буфере, то есть если src.length > size()
, значения не передаются и создается исключение BufferOverflowException.
В противном случае этот метод копирует значения n = src.length
из заданного массива.
Параметры
источник | исходный массив, из которого должны быть прочитаны значения |
---|
Возврат
- этот буфер
Броски
исключение BufferOverflowException | если в этом буфере недостаточно места для значений исходного массива |
---|---|
ReadOnlyBufferException | если этот буфер доступен только для чтения |
публичная абстрактная запись ByteDataBuffer (источник byte[], смещение int, длина int)
Метод массового размещения с использованием байтовых массивов.
Этот метод передает значения из данного исходного массива в этот буфер. Если в исходном массиве больше значений, чем в этом буфере, то есть если length > size()
, значения не передаются и создается исключение BufferOverflowException.
В противном случае этот метод копирует значения n = length
из заданного массива в этот буфер, начиная с заданного смещения.
Параметры
источник | исходный массив, из которого должны быть прочитаны значения |
---|---|
компенсировать | смещение в массиве первого считываемого значения; должно быть неотрицательным и не превышать src.length |
длина | количество значений, которые необходимо прочитать из данного массива; должно быть неотрицательным и не превышать src.length - offset |
Возврат
- этот буфер
Броски
исключение BufferOverflowException | если в этом буфере недостаточно места для значений исходного массива |
---|---|
Индексаутофбаундсисключение | если предварительные условия для параметров смещения и длины не выполняются |
ReadOnlyBufferException | если этот буфер доступен только для чтения |