Класс IntBuffer
- Все реализуемые интерфейсы:
Comparable<IntBuffer>
public abstract sealed class IntBuffer extends Buffer implements Comparable<IntBuffer>
Этот класс определяет четыре категории операций над буферами int:
Методы
getиputс абсолютной и относительной адресацией, которые считывают и записывают отдельные значения int;Методы
bulk getс абсолютной и относительной адресацией, которые передают непрерывные последовательности значений int из этого буфера в массив;Методы
bulk putс абсолютной и относительной адресацией, которые передают непрерывные последовательности значений int из массива int или другого буфера int в этот буфер;Метод для
compactingбуфера int.
Буферы int можно создать с помощью метода allocation, выделяющего память для содержимого буфера, с помощью метода wrapping, оборачивающего существующий массив int в буфер, или создав представление существующего буфера байтов.
Как и буфер байтов, буфер int может быть прямым или непрямым. Буфер int, созданный с помощью методов wrap этого класса, будет непрямым. Буфер int, созданный как представление буфера байтов, будет прямым тогда и только тогда, когда сам буфер байтов является прямым. Чтобы определить, является ли буфер int прямым, можно вызвать метод isDirect.
Методы этого класса, которые не возвращают никакого другого значения, возвращают буфер, для которого они были вызваны. Это позволяет объединять вызовы методов в цепочку.
Необязательные операции
Методы, определённые как необязательные операции, при вызове для буфера только для чтения IntBuffer выбрасывают исключение ReadOnlyBufferException. Методы array и arrayOffset выбрасывают исключение UnsupportedOperationException, если IntBuffer не поддерживается доступным массивом int (независимо от того, доступен ли IntBuffer только для чтения).- Начиная с:
- 1.4
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static IntBuffer |
allocate |
Выделяет память для нового буфера int. |
final int[] |
array() |
Возвращает массив int, на котором основан этот буфер (необязательная операция). |
final int |
arrayOffset() |
Возвращает смещение первого элемента буфера относительно массива, на котором основан этот буфер (необязательная операция). |
abstract IntBuffer |
asReadOnlyBuffer() |
Создаёт новый буфер int только для чтения, совместно использующий содержимое этого буфера. |
final IntBuffer |
clear() |
Очищает этот буфер. |
abstract IntBuffer |
compact() |
Компактирует этот буфер (необязательная операция). |
int |
compareTo |
Сравнивает этот буфер с другим. |
abstract IntBuffer |
duplicate() |
Создаёт новый буфер int, совместно использующий содержимое этого буфера. |
boolean |
equals |
Определяет, равен ли этот буфер другому объекту. |
final IntBuffer |
flip() |
Переворачивает этот буфер. |
abstract int |
get() |
Относительный метод get. |
abstract int |
get |
Абсолютный метод get. |
IntBuffer |
get |
Относительный метод массового чтения get. |
IntBuffer |
get |
Относительный метод массового чтения get. |
IntBuffer |
get |
Абсолютный метод массового чтения get. |
IntBuffer |
get |
Абсолютный метод массового чтения get. |
final boolean |
hasArray() |
Определяет, основан ли этот буфер на доступном массиве int. |
int |
hashCode() |
Возвращает текущий хеш-код этого буфера. |
abstract boolean |
isDirect() |
Определяет, является ли этот буфер int прямым. |
final IntBuffer |
limit |
Устанавливает предел этого буфера. |
final IntBuffer |
mark() |
Устанавливает отметку буфера на его текущей позиции. |
int |
mismatch |
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером. |
abstract ByteOrder |
order() |
Получает порядок байтов этого буфера. |
final IntBuffer |
position |
Устанавливает позицию этого буфера. |
abstract IntBuffer |
put |
Относительный метод put (необязательная операция). |
final IntBuffer |
put |
Относительный метод массовой записи put (необязательная операция). |
IntBuffer |
put |
Относительный метод массовой записи put (необязательная операция). |
abstract IntBuffer |
put |
Абсолютный метод put (необязательная операция). |
IntBuffer |
put |
Абсолютный метод массовой записи put (необязательная операция). |
IntBuffer |
put |
Абсолютный метод массовой записи put (необязательная операция). |
IntBuffer |
put |
Абсолютный метод массовой записи put (необязательная операция). |
IntBuffer |
put |
Относительный метод массовой записи put (необязательная операция). |
final IntBuffer |
reset() |
Возвращает позицию этого буфера к ранее отмеченной позиции. |
final IntBuffer |
rewind() |
Перематывает этот буфер. |
abstract IntBuffer |
slice() |
Создаёт новый буфер int, содержимое которого является общей подпоследовательностью содержимого этого буфера. |
abstract IntBuffer |
slice |
Создаёт новый буфер int, содержимое которого является общей подпоследовательностью содержимого этого буфера. |
String |
toString() |
Возвращает строку с кратким описанием состояния этого буфера. |
static IntBuffer |
wrap |
Оборачивает массив int в буфер. |
static IntBuffer |
wrap |
Оборачивает массив int в буфер. |
Методы, объявленные в классе Buffer
capacity, hasRemaining, isReadOnly, limit, position, remaining | Модификатор и тип | Метод | Описание |
|---|---|---|
final int |
capacity() |
Возвращает ёмкость этого буфера. |
final boolean |
hasRemaining() |
Определяет, есть ли элементы между текущей позицией и пределом. |
abstract boolean |
isReadOnly() |
Определяет, доступен ли этот буфер только для чтения. |
final int |
limit() |
Возвращает предел этого буфера. |
final int |
position() |
Возвращает позицию этого буфера. |
final int |
remaining() |
Возвращает количество элементов между текущей позицией и пределом. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело и будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ждать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
allocate
public static IntBuffer allocate(int capacity)
Позиция нового буфера будет равна нулю, его предел будет равен его емкости, его отметка будет не определена, каждый его элемент будет инициализирован нулем, а порядок байтов будет соответствовать native order базового оборудования. У него будет backing array, а его array offset будет равен нулю.
- Параметры:
-
capacity— емкость нового буфера в значениях int - Возвращает:
- Новый буфер int
- Исключения:
-
IllegalArgumentException— еслиcapacityявляется отрицательным целым числом
wrap
public static IntBuffer wrap(int[] array, int offset, int length)
Новый буфер будет использовать указанный массив int в качестве основы; то есть изменения буфера приведут к изменению массива и наоборот. Емкость нового буфера будет равна array.length, его позиция будет равна offset, предел будет равен offset + length, отметка будет не определена, а порядок байтов будет соответствовать native order базового оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array— массив, который будет служить основой нового буфера -
offset— смещение используемого подмассива; должно быть неотрицательным и не превышатьarray.length. Позиция нового буфера будет установлена в это значение. -
length— длина используемого подмассива; должна быть неотрицательной и не превышатьarray.length - offset. Предел нового буфера будет установлен вoffset + length. - Возвращает:
- Новый буфер int
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровoffsetиlength
wrap
public static IntBuffer wrap(int[] array)
Новый буфер будет использовать указанный массив int в качестве основы; то есть изменения буфера приведут к изменению массива и наоборот. Емкость и предел нового буфера будут равны array.length, его позиция будет равна нулю, отметка будет не определена, а порядок байтов будет соответствовать native order базового оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array— массив, который будет служить основой этого буфера - Возвращает:
- Новый буфер int
slice
public abstract IntBuffer slice()
Содержимое нового буфера будет начинаться с текущей позиции этого буфера. Изменения содержимого этого буфера будут видны в новом буфере и наоборот; значения позиции, предела и отметки двух буферов будут независимы.
Позиция нового буфера будет равна нулю, его емкость и предел будут равны количеству оставшихся в этом буфере значений int, отметка будет не определена, а порядок байтов будет совпадать с порядком байтов этого буфера. Новый буфер будет прямым тогда и только тогда, когда прямым является этот буфер, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
slice
public abstract IntBuffer slice(int index, int length)
Содержимое нового буфера будет начинаться с позиции index в этом буфере и содержать length элементов. Изменения содержимого этого буфера будут видны в новом буфере и наоборот; значения позиции, предела и отметки двух буферов будут независимы.
Позиция нового буфера будет равна нулю, его емкость и предел будут равны length, отметка будет не определена, а порядок байтов будет совпадать с порядком байтов этого буфера. Новый буфер будет прямым тогда и только тогда, когда прямым является этот буфер, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
- Переопределяет:
-
sliceв классеBuffer - Параметры:
-
index— позиция в этом буфере, с которой будет начинаться содержимое нового буфера; должна быть неотрицательной и не превышатьlimit() -
length— количество элементов в новом буфере; должно быть неотрицательным и не превышатьlimit() - index - Возвращает:
- Новый буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или большеlimit(),lengthотрицательно илиlength > limit() - index - Начиная с версии:
- 13
duplicate
public abstract IntBuffer duplicate()
Содержимое нового буфера будет таким же, как у этого буфера. Изменения содержимого этого буфера будут видны в новом буфере и наоборот; значения позиции, предела и отметки двух буферов будут независимы.
Емкость, предел, позиция, значения отметки и порядок байтов нового буфера будут совпадать с соответствующими значениями этого буфера. Новый буфер будет прямым тогда и только тогда, когда прямым является этот буфер, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
asReadOnlyBuffer
public abstract IntBuffer asReadOnlyBuffer()
Содержимое нового буфера будет таким же, как у этого буфера. Изменения содержимого этого буфера будут видны в новом буфере; однако сам новый буфер будет доступен только для чтения и не позволит изменять общее содержимое. Значения позиции, предела и отметки двух буферов будут независимы.
Емкость, предел, позиция, значения отметки и порядок байтов нового буфера будут совпадать с соответствующими значениями этого буфера.
Если этот буфер сам доступен только для чтения, данный метод работает точно так же, как метод duplicate.
- Возвращает:
- Новый буфер int, доступный только для чтения
get
public abstract int get()
- Возвращает:
- Значение int в текущей позиции буфера
- Исключения:
-
BufferUnderflowException— если текущая позиция буфера не меньше его предела
put
public abstract IntBuffer put(int i)
Записывает указанное значение int в этот буфер в текущую позицию, а затем увеличивает позицию.
- Параметры:
-
i— значение int для записи - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если текущая позиция этого буфера не меньше его предела -
ReadOnlyBufferException— если этот буфер доступен только для чтения
get
public abstract int get(int index)
- Параметры:
-
index— индекс, по которому будет считано значение int - Возвращает:
- Значение int по указанному индексу
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или не меньше предела буфера
put
public abstract IntBuffer put(int index, int i)
Записывает указанное значение int в этот буфер по указанному индексу.
- Параметры:
-
index— индекс, по которому будет записано значение int -
i— значение int для записи - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или не меньше предела буфера -
ReadOnlyBufferException— если этот буфер доступен только для чтения
get
public IntBuffer get(int[] dst, int offset, int length)
Этот метод переносит значения int из этого буфера в указанный массив назначения. Если в буфере осталось меньше значений int, чем требуется для выполнения запроса, то есть если length > remaining(), значения int не переносятся и выбрасывается BufferUnderflowException.
В противном случае этот метод копирует length значений int из этого буфера в указанный массив, начиная с текущей позиции этого буфера и с указанного смещения в массиве. Затем позиция этого буфера увеличивается на length.
Иными словами, вызов этого метода в форме src.get(dst, off, len) дает точно такой же результат, как цикл
for (int i = off; i < off + len; i++)
dst[i] = src.get();
- Параметры:
-
dst— массив, в который будут записаны значения int -
offset— смещение в массиве, начиная с которого будет записано первое значение int; должно быть неотрицательным и не превышатьdst.length -
length— максимальное количество значений int для записи в указанный массив; должно быть неотрицательным и не превышатьdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException— если в этом буфере осталось меньшеlengthзначений int -
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровoffsetиlength
get
public IntBuffer get(int[] dst)
Этот метод переносит значения int из этого буфера в указанный массив назначения. Вызов этого метода в форме src.get(a) работает точно так же, как вызов
src.get(a, 0, a.length)
- Параметры:
-
dst— массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException— если в этом буфере осталось меньшеlengthзначений int
get
public IntBuffer get(int index, int[] dst, int offset, int length)
Этот метод переносит length значений int из этого буфера в указанный массив, начиная с указанного индекса в этом буфере и указанного смещения в массиве. Позиция этого буфера не изменяется.
Вызов этого метода в форме src.get(index, dst, offset, length) дает точно такой же результат, как приведенный ниже цикл, за исключением того, что сначала проверяется согласованность переданных параметров; кроме того, этот метод потенциально гораздо эффективнее:
for (int i = offset, j = index; i < offset + length; i++, j++)
dst[i] = src.get(j);
- Параметры:
-
index— индекс в этом буфере, с которого будет считано первое значение int; должен быть неотрицательным и меньшеlimit() -
dst— массив назначения -
offset— смещение в массиве, начиная с которого будет записано первое значение int; должно быть неотрицательным и меньшеdst.length -
length— количество значений int для записи в указанный массив; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровindex,offsetиlength - Начиная с версии:
- 13
get
public IntBuffer get(int index, int[] dst)
Этот метод переносит значения int из этого буфера в указанный массив назначения. Позиция этого буфера не изменяется. Вызов этого метода в форме src.get(index, dst) работает точно так же, как вызов:
src.get(index, dst, 0, dst.length)
- Параметры:
-
index— индекс в этом буфере, с которого будет считано первое значение int; должен быть неотрицательным и меньшеlimit() -
dst— массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно, не меньшеlimit()илиlimit() - index < dst.length - Начиная с версии:
- 13
put
public IntBuffer put(IntBuffer src)
Этот метод переносит оставшиеся значения int из указанного исходного буфера в этот буфер. Если в исходном буфере осталось больше значений int, чем в этом буфере, то есть если src.remaining() > remaining(), значения int не переносятся и выбрасывается BufferOverflowException.
В противном случае этот метод копирует n = src.remaining() значений int из указанного буфера в этот буфер, начиная с текущей позиции каждого буфера. Затем позиции обоих буферов увеличиваются на n.
Иными словами, вызов этого метода в форме dst.put(src) дает точно такой же результат, как цикл
while (src.hasRemaining())
dst.put(src.get());
- Параметры:
-
src— исходный буфер, из которого будут считываться значения int; не должен совпадать с этим буфером - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места для оставшихся значений int исходного буфера -
IllegalArgumentException— если исходным буфером является этот буфер -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public IntBuffer put(int index, IntBuffer src, int offset, int length)
Этот метод переносит length значений int из указанного исходного буфера в этот буфер, начиная с указанного offset в исходном буфере и указанного index в этом буфере. Позиции обоих буферов не изменяются.
Иными словами, вызов этого метода в форме dst.put(index, src, offset, length) дает точно такой же результат, как цикл
for (int i = offset, j = index; i < offset + length; i++, j++)
dst.put(j, src.get(i));
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение int; должен быть неотрицательным и меньшеlimit() -
src— буфер, из которого будут считываться значения int -
offset— индекс в исходном буфере, по которому будет считано первое значение int; должен быть неотрицательным и меньшеsrc.limit() -
length— количество значений int для чтения из указанного буфера; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиsrc.limit() - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровindex,offsetиlength -
ReadOnlyBufferException— если этот буфер доступен только для чтения - Начиная с версии:
- 16
put
public IntBuffer put(int[] src, int offset, int length)
Этот метод переносит значения int в этот буфер из указанного исходного массива. Если из массива нужно скопировать больше значений int, чем осталось места в этом буфере, то есть если length > remaining(), значения int не переносятся и выбрасывается BufferOverflowException.
В противном случае этот метод копирует length значений int из указанного массива в этот буфер, начиная с указанного смещения в массиве и текущей позиции этого буфера. Затем позиция этого буфера увеличивается на length.
Иными словами, вызов этого метода в форме dst.put(src, off, len) дает точно такой же результат, как цикл
for (int i = off; i < off + len; i++)
dst.put(src[i]);
- Параметры:
-
src— массив, из которого будут считываться значения int -
offset— смещение в массиве, по которому будет считано первое значение int; должно быть неотрицательным и не превышатьsrc.length -
length— количество значений int для чтения из указанного массива; должно быть неотрицательным и не превышатьsrc.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места -
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровoffsetиlength -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public final IntBuffer put(int[] src)
Этот метод переносит все содержимое указанного исходного массива int в этот буфер. Вызов этого метода в форме dst.put(a) работает точно так же, как вызов
dst.put(a, 0, a.length)
- Параметры:
-
src— исходный массив - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public IntBuffer put(int index, int[] src, int offset, int length)
Этот метод переносит length значений int из указанного массива, начиная с указанного смещения в массиве и указанного индекса в этом буфере. Позиция этого буфера не изменяется.
Вызов этого метода в форме dst.put(index, src, offset, length) дает точно такой же результат, как приведенный ниже цикл, за исключением того, что сначала проверяется согласованность переданных параметров; кроме того, этот метод потенциально гораздо эффективнее:
for (int i = offset, j = index; i < offset + length; i++, j++)
dst.put(j, src[i]);
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение int; должен быть неотрицательным и меньшеlimit() -
src— массив, из которого будут считываться значения int -
offset— смещение в массиве, по которому будет считано первое значение int; должно быть неотрицательным и меньшеsrc.length -
length— количество значений int для чтения из указанного массива; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиsrc.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровindex,offsetиlength -
ReadOnlyBufferException— если этот буфер доступен только для чтения - Начиная с версии:
- 13
put
public IntBuffer put(int index, int[] src)
Этот метод копирует значения int из указанного исходного массива в этот буфер. Позиция этого буфера не изменяется. Вызов этого метода в форме dst.put(index, src) работает точно так же, как вызов:
dst.put(index, src, 0, src.length);
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение int; должен быть неотрицательным и меньшеlimit() -
src— массив, из которого будут считываться значения int - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно, не меньшеlimit()илиlimit() - index < src.length -
ReadOnlyBufferException— если этот буфер доступен только для чтения - Начиная с версии:
- 13
hasArray
public final boolean hasArray()
Если этот метод возвращает true, методы array и arrayOffset можно безопасно вызывать.
array
public final int[] array()
Изменения содержимого этого буфера приведут к изменению содержимого возвращенного массива и наоборот.
Перед вызовом этого метода вызовите метод hasArray, чтобы убедиться, что у этого буфера есть доступный базовый массив.
- Переопределяет:
-
arrayв классеBuffer - Возвращает:
- Массив, на котором основан этот буфер
- Исключения:
-
ReadOnlyBufferException— если этот буфер основан на массиве, но доступен только для чтения -
UnsupportedOperationException— если этот буфер не основан на доступном массиве
arrayOffset
public final int arrayOffset()
Если этот буфер основан на массиве, позиции буфера p соответствует индекс массива p + arrayOffset().
Перед вызовом этого метода вызовите метод hasArray, чтобы убедиться, что у этого буфера есть доступный базовый массив.
- Переопределяет:
-
arrayOffsetв классеBuffer - Возвращает:
- Смещение первого элемента буфера относительно массива этого буфера
- Исключения:
-
ReadOnlyBufferException— если этот буфер основан на массиве, но доступен только для чтения -
UnsupportedOperationException— если этот буфер не основан на доступном массиве
position
public final IntBuffer position(int newPosition)
limit
public final IntBuffer limit(int newLimit)
mark
reset
clear
public final IntBuffer clear()
Вызовите этот метод перед заполнением буфера последовательностью операций чтения из канала или операций put. Например:
buf.clear(); // Prepare buffer for reading
in.read(buf); // Read data
Этот метод фактически не стирает данные в буфере, но называется так, будто стирает их, поскольку чаще всего используется в ситуациях, когда это не имеет значения.
flip
public final IntBuffer flip()
После последовательности операций чтения из канала или операций put вызовите этот метод, чтобы подготовить буфер к последовательности операций записи в канал или относительных операций get. Например:
buf.put(magic); // Prepend header
in.read(buf); // Read data into rest of buffer
buf.flip(); // Flip buffer
out.write(buf); // Write header + data to channel
Этот метод часто используется вместе с методом compact при переносе данных из одного места в другое.
rewind
public final IntBuffer rewind()
Вызовите этот метод перед последовательностью операций записи в канал или операций get, если предел уже установлен соответствующим образом. Например:
out.write(buf); // Write remaining data
buf.rewind(); // Rewind buffer
buf.get(array); // Copy data into array
compact
public abstract IntBuffer compact()
Целые числа между текущей позицией буфера и его пределом, если они есть, копируются в начало буфера. То есть целое число с индексом p = position() копируется на индекс ноль, целое число с индексом p + 1 копируется на индекс один и так далее, пока целое число с индексом limit() - 1 не будет скопировано на индекс n = limit() - 1 - p. Затем позиция буфера устанавливается в n+1, а предел — в его ёмкость. Отметка, если она установлена, сбрасывается.
Позиция буфера устанавливается в число скопированных целых чисел, а не в ноль, чтобы сразу после вызова этого метода можно было вызвать другой относительный метод put.
- Возвращает:
- Этот буфер
- Исключения:
-
ReadOnlyBufferException- Если этот буфер доступен только для чтения
isDirect
toString
hashCode
public int hashCode()
Хеш-код буфера целых чисел зависит только от оставшихся в нём элементов, то есть от элементов начиная с position() и вплоть до элемента с индексом limit() - 1 включительно.
Поскольку хеш-коды буферов зависят от их содержимого, не рекомендуется использовать буферы в качестве ключей в хеш-таблицах или аналогичных структурах данных, если неизвестно, что их содержимое не изменится.
equals
public boolean equals(Object ob)
Два буфера целых чисел равны тогда и только тогда, когда
они имеют одинаковый тип элементов,
в них осталось одинаковое количество элементов и
две последовательности оставшихся элементов, рассматриваемые независимо от их начальных позиций, равны поэлементно.
Буфер целых чисел не равен объекту любого другого типа.
compareTo
public int compareTo(IntBuffer that)
Два буфера целых чисел сравниваются лексикографически по последовательностям оставшихся элементов, независимо от начальной позиции каждой последовательности в соответствующем буфере. Пары элементов int сравниваются так, как если бы был вызван метод Integer.compare(int,int).
Буфер целых чисел нельзя сравнить с объектом любого другого типа.
- Определён в:
-
compareToв интерфейсеComparable<IntBuffer> - Параметры:
-
that- объект для сравнения. - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если этот буфер меньше, равен или больше указанного буфера
mismatch
public int mismatch(IntBuffer that)
position каждого буфера и находится в диапазоне от 0 (включительно) до меньшего из числа элементов, указанных в remaining каждого буфера (не включительно). Если у двух буферов есть общий префикс, возвращаемый индекс равен длине общего префикса, и, следовательно, по этому индексу в соответствующих буферах обнаруживается несовпадение. Если один буфер является собственным префиксом другого, возвращаемый индекс равен меньшему числу оставшихся элементов в каждом буфере; следовательно, этот индекс действителен только для буфера с большим количеством оставшихся элементов. В противном случае несовпадений нет.
- Параметры:
-
that- Буфер байтов для проверки на несовпадение с этим буфером - Возвращает:
- Относительный индекс первого несовпадения между этим и указанным буфером; если несовпадений нет, возвращается -1.
- Начиная с:
- 11
order
public abstract ByteOrder order()
Порядок байтов буфера целых чисел, созданного выделением памяти или обёртыванием существующего массива int, соответствует native order базового оборудования. Порядок байтов буфера целых чисел, созданного как представление буфера байтов, совпадает с порядком байтов буфера байтов на момент создания представления.
- Возвращает:
- Порядок байтов этого буфера
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.