Класс ShortBuffer
- Все реализуемые интерфейсы:
Comparable<ShortBuffer>
public abstract sealed class ShortBuffer extends Buffer implements Comparable<ShortBuffer>
Этот класс определяет четыре категории операций с буферами short:
Абсолютные и относительные методы
getиput, которые считывают и записывают отдельные значения short;Абсолютные и относительные методы
bulk get, которые передают непрерывные последовательности значений short из этого буфера в массив;Абсолютные и относительные методы
bulk put, которые передают непрерывные последовательности значений short из массива short или другого буфера short в этот буфер;Метод для
compactingбуфера short.
Буферы short можно создавать с помощью метода allocation, выделяющего пространство для содержимого буфера, путем wrapping существующего массива short в буфер или путем создания представления существующего буфера байтов.
Как и буфер байтов, буфер short может быть прямым или непрямым. Буфер short, созданный с помощью методов wrap этого класса, будет непрямым. Буфер short, созданный как представление буфера байтов, будет прямым тогда и только тогда, когда сам буфер байтов является прямым. Чтобы определить, является ли буфер short прямым, можно вызвать метод isDirect.
Методы этого класса, для которых не предусмотрено иного возвращаемого значения, возвращают буфер, для которого они вызваны. Это позволяет объединять вызовы методов в цепочки.
Необязательные операции
Методы, указанные как необязательные операции, при вызове для ShortBuffer, доступного только для чтения, выбрасывают исключение ReadOnlyBufferException. Методы array и arrayOffset выбрасывают исключение UnsupportedOperationException, если ShortBuffer не поддерживается доступным массивом short (независимо от того, доступен ли ShortBuffer только для чтения).- Начиная с версии:
- 1.4
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ShortBuffer |
allocate |
Выделяет новый буфер short. |
final short[] |
array() |
Возвращает массив short, на основе которого создан этот буфер (необязательная операция). |
final int |
arrayOffset() |
Возвращает смещение первого элемента буфера относительно массива, на основе которого создан этот буфер (необязательная операция). |
abstract ShortBuffer |
asReadOnlyBuffer() |
Создает новый буфер short, доступный только для чтения и использующий то же содержимое, что и этот буфер. |
final ShortBuffer |
clear() |
Очищает этот буфер. |
abstract ShortBuffer |
compact() |
Компактирует этот буфер (необязательная операция). |
int |
compareTo |
Сравнивает этот буфер с другим. |
abstract ShortBuffer |
duplicate() |
Создает новый буфер short, использующий то же содержимое, что и этот буфер. |
boolean |
equals |
Проверяет, равен ли этот буфер другому объекту. |
final ShortBuffer |
flip() |
Переворачивает этот буфер. |
abstract short |
get() |
Относительный метод get. |
abstract short |
get |
Абсолютный метод get. |
ShortBuffer |
get |
Абсолютный пакетный метод get. |
ShortBuffer |
get |
Абсолютный пакетный метод get. |
ShortBuffer |
get |
Относительный пакетный метод get. |
ShortBuffer |
get |
Относительный пакетный метод get. |
final boolean |
hasArray() |
Проверяет, поддерживается ли этот буфер доступным массивом short. |
int |
hashCode() |
Возвращает текущий хеш-код этого буфера. |
abstract boolean |
isDirect() |
Проверяет, является ли этот буфер short прямым. |
final ShortBuffer |
limit |
Устанавливает предел этого буфера. |
final ShortBuffer |
mark() |
Устанавливает отметку этого буфера в текущей позиции. |
int |
mismatch |
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером. |
abstract ByteOrder |
order() |
Возвращает порядок байтов этого буфера. |
final ShortBuffer |
position |
Устанавливает позицию этого буфера. |
abstract ShortBuffer |
put |
Абсолютный метод put (необязательная операция). |
ShortBuffer |
put |
Абсолютный пакетный метод put (необязательная операция). |
ShortBuffer |
put |
Абсолютный пакетный метод put (необязательная операция). |
ShortBuffer |
put |
Абсолютный пакетный метод put (необязательная операция). |
abstract ShortBuffer |
put |
Относительный метод put (необязательная операция). |
final ShortBuffer |
put |
Относительный пакетный метод put (необязательная операция). |
ShortBuffer |
put |
Относительный пакетный метод put (необязательная операция). |
ShortBuffer |
put |
Относительный пакетный метод put (необязательная операция). |
final ShortBuffer |
reset() |
Возвращает позицию этого буфера к ранее установленной отметке. |
final ShortBuffer |
rewind() |
Перематывает этот буфер в начало. |
abstract ShortBuffer |
slice() |
Создает новый буфер short, содержимое которого является общей подпоследовательностью содержимого этого буфера. |
abstract ShortBuffer |
slice |
Создает новый буфер short, содержимое которого является общей подпоследовательностью содержимого этого буфера. |
String |
toString() |
Возвращает строку со сводной информацией о состоянии этого буфера. |
static ShortBuffer |
wrap |
Оборачивает массив short в буфер. |
static ShortBuffer |
wrap |
Оборачивает массив short в буфер. |
Методы, объявленные в классе 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 ShortBuffer allocate(int capacity)
Позиция нового буфера будет равна нулю, его предел будет равен его емкости, его метка будет не определена, каждый его элемент будет инициализирован нулем, а порядок байтов будет соответствовать native order базового оборудования. У него будет backing array, а его array offset будет равен нулю.
- Параметры:
-
capacity— емкость нового буфера, в значениях short - Возвращает:
- Новый буфер short
- Исключения:
-
IllegalArgumentException— еслиcapacityявляется отрицательным целым числом
wrap
public static ShortBuffer wrap(short[] array, int offset, int length)
Новый буфер будет использовать заданный массив short в качестве основы; то есть изменения в буфере приведут к изменению массива, и наоборот. Емкость нового буфера будет равна array.length, его позиция будет равна offset, его предел будет равен offset + length, его метка будет не определена, а порядок байтов будет соответствовать native order базового оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array— массив, который будет использоваться в качестве основы нового буфера -
offset— смещение используемого подмассива; должно быть неотрицательным и не превышатьarray.length. Позиция нового буфера будет установлена в это значение. -
length— длина используемого подмассива; должна быть неотрицательной и не превышатьarray.length - offset. Предел нового буфера будет установлен вoffset + length. - Возвращает:
- Новый буфер short
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровoffsetиlength
wrap
public static ShortBuffer wrap(short[] array)
Новый буфер будет использовать заданный массив short в качестве основы; то есть изменения в буфере приведут к изменению массива, и наоборот. Емкость и предел нового буфера будут равны array.length, его позиция будет равна нулю, его метка будет не определена, а порядок байтов будет соответствовать native order базового оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array— массив, который будет использоваться в качестве основы этого буфера - Возвращает:
- Новый буфер short
slice
public abstract ShortBuffer slice()
Содержимое нового буфера будет начинаться с текущей позиции этого буфера. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и метки двух буферов будут независимыми.
Позиция нового буфера будет равна нулю, его емкость и предел будут равны количеству оставшихся в этом буфере значений short, его метка будет не определена, а порядок байтов будет идентичен порядку байтов этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
slice
public abstract ShortBuffer 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 ShortBuffer duplicate()
Содержимое нового буфера будет совпадать с содержимым этого буфера. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и метки двух буферов будут независимыми.
Значения емкости, предела, позиции и метки, а также порядок байтов нового буфера будут идентичны соответствующим значениям этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
asReadOnlyBuffer
public abstract ShortBuffer asReadOnlyBuffer()
Содержимое нового буфера будет совпадать с содержимым этого буфера. Изменения содержимого этого буфера будут видны в новом буфере; однако сам новый буфер будет доступен только для чтения и не позволит изменять общее содержимое. Значения позиции, предела и метки двух буферов будут независимыми.
Значения емкости, предела, позиции и метки, а также порядок байтов нового буфера будут идентичны соответствующим значениям этого буфера.
Если этот буфер сам доступен только для чтения, данный метод работает точно так же, как метод duplicate.
- Возвращает:
- Новый буфер short только для чтения
get
public abstract short get()
- Возвращает:
- Значение short в текущей позиции буфера
- Исключения:
-
BufferUnderflowException— если текущая позиция буфера не меньше его предела
put
public abstract ShortBuffer put(short s)
Записывает заданное значение short в этот буфер в текущей позиции, а затем увеличивает позицию.
- Параметры:
-
s— значение short для записи - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если текущая позиция этого буфера не меньше его предела -
ReadOnlyBufferException— если этот буфер доступен только для чтения
get
public abstract short get(int index)
- Параметры:
-
index— индекс, по которому будет прочитано значение short - Возвращает:
- Значение short по заданному индексу
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или не меньше предела буфера
put
public abstract ShortBuffer put(int index, short s)
Записывает заданное значение short в этот буфер по заданному индексу.
- Параметры:
-
index— индекс, по которому будет записано значение short -
s— значение short для записи - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или не меньше предела буфера -
ReadOnlyBufferException— если этот буфер доступен только для чтения
get
public ShortBuffer get(short[] dst, int offset, int length)
Этот метод переносит значения short из этого буфера в заданный массив назначения. Если в буфере осталось меньше значений short, чем необходимо для выполнения запроса, то есть если length > remaining(), значения short не переносятся и выбрасывается BufferUnderflowException.
В противном случае этот метод копирует length значений short из этого буфера в заданный массив, начиная с текущей позиции этого буфера и заданного смещения в массиве. Затем позиция этого буфера увеличивается на length.
Иными словами, вызов этого метода в форме src.get(dst, off, len) имеет точно такой же эффект, что и цикл
for (int i = off; i < off + len; i++)
dst[i] = src.get();
- Параметры:
-
dst— массив, в который будут записаны значения short -
offset— смещение в массиве, с которого будет записано первое значение short; должно быть неотрицательным и не превышатьdst.length -
length— максимальное количество значений short для записи в заданный массив; должно быть неотрицательным и не превышатьdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException— если в этом буфере осталось меньшеlengthзначений short -
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровoffsetиlength
get
public ShortBuffer get(short[] dst)
Этот метод переносит значения short из этого буфера в заданный массив назначения. Вызов этого метода в форме src.get(a) работает точно так же, как вызов
src.get(a, 0, a.length)
- Параметры:
-
dst— массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException— если в этом буфере осталось меньшеlengthзначений short
get
public ShortBuffer get(int index, short[] dst, int offset, int length)
Этот метод переносит length значений short из этого буфера в заданный массив, начиная с заданного индекса в этом буфере и заданного смещения в массиве. Позиция этого буфера не изменяется.
Вызов этого метода в форме src.get(index, dst, offset, length) имеет точно такой же эффект, что и следующий цикл, за исключением того, что сначала проверяется согласованность заданных параметров, а сам метод потенциально намного эффективнее:
for (int i = offset, j = index; i < offset + length; i++, j++)
dst[i] = src.get(j);
- Параметры:
-
index— индекс в этом буфере, с которого будет прочитано первое значение short; должен быть неотрицательным и меньшеlimit() -
dst— массив назначения -
offset— смещение в массиве, с которого будет записано первое значение short; должно быть неотрицательным и меньшеdst.length -
length— количество значений short для записи в заданный массив; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровindex,offsetиlength - С версии:
- 13
get
public ShortBuffer get(int index, short[] dst)
Этот метод переносит значения short из этого буфера в заданный массив назначения. Позиция этого буфера не изменяется. Вызов этого метода в форме src.get(index, dst) работает точно так же, как вызов:
src.get(index, dst, 0, dst.length)
- Параметры:
-
index— индекс в этом буфере, с которого будет прочитано первое значение short; должен быть неотрицательным и меньшеlimit() -
dst— массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно, не меньшеlimit()илиlimit() - index < dst.length - С версии:
- 13
put
public ShortBuffer put(ShortBuffer src)
Этот метод переносит оставшиеся значения short из заданного исходного буфера в этот буфер. Если в исходном буфере осталось больше значений short, чем в этом буфере, то есть если src.remaining() > remaining(), значения short не переносятся и выбрасывается BufferOverflowException.
В противном случае этот метод копирует n = src.remaining() значений short из заданного буфера в этот буфер, начиная с текущей позиции каждого буфера. Затем позиции обоих буферов увеличиваются на n.
Иными словами, вызов этого метода в форме dst.put(src) имеет точно такой же эффект, что и цикл
while (src.hasRemaining())
dst.put(src.get());
- Параметры:
-
src— исходный буфер, из которого будут считываться значения short; не должен совпадать с этим буфером - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места для оставшихся значений short из исходного буфера -
IllegalArgumentException— если исходный буфер совпадает с этим буфером -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public ShortBuffer put(int index, ShortBuffer src, int offset, int length)
Этот метод переносит length значений short из заданного исходного буфера в этот буфер, начиная с заданного 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— индекс в этом буфере, по которому будет записано первое значение short; должен быть неотрицательным и меньшеlimit() -
src— буфер, из которого будут считываться значения short -
offset— индекс в исходном буфере, с которого будет прочитано первое значение short; должен быть неотрицательным и меньшеsrc.limit() -
length— количество значений short для чтения из заданного буфера; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиsrc.limit() - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровindex,offsetиlength -
ReadOnlyBufferException— если этот буфер доступен только для чтения - С версии:
- 16
put
public ShortBuffer put(short[] src, int offset, int length)
Этот метод переносит значения short из заданного исходного массива в этот буфер. Если значений short, которые необходимо скопировать из массива, больше, чем осталось в этом буфере, то есть если length > remaining(), значения short не переносятся и выбрасывается BufferOverflowException.
В противном случае этот метод копирует length значений short из заданного массива в этот буфер, начиная с заданного смещения в массиве и текущей позиции этого буфера. Затем позиция этого буфера увеличивается на length.
Иными словами, вызов этого метода в форме dst.put(src, off, len) имеет точно такой же эффект, что и цикл
for (int i = off; i < off + len; i++)
dst.put(src[i]);
- Параметры:
-
src— массив, из которого будут считываться значения short -
offset— смещение в массиве, с которого будет прочитано первое значение short; должно быть неотрицательным и не превышатьsrc.length -
length— количество значений short для чтения из заданного массива; должно быть неотрицательным и не превышатьsrc.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места -
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровoffsetиlength -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public final ShortBuffer put(short[] src)
Этот метод переносит все содержимое заданного исходного массива short в этот буфер. Вызов этого метода в форме dst.put(a) работает точно так же, как вызов
dst.put(a, 0, a.length)
- Параметры:
-
src— исходный массив - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public ShortBuffer put(int index, short[] src, int offset, int length)
Этот метод переносит length значений short из заданного массива, начиная с заданного смещения в массиве и заданного индекса в этом буфере. Позиция этого буфера не изменяется.
Вызов этого метода в форме dst.put(index, src, offset, length) имеет точно такой же эффект, что и следующий цикл, за исключением того, что сначала проверяется согласованность заданных параметров, а сам метод потенциально намного эффективнее:
for (int i = offset, j = index; i < offset + length; i++, j++)
dst.put(j, src[i]);
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение short; должен быть неотрицательным и меньшеlimit() -
src— массив, из которого будут считываться значения short -
offset— смещение в массиве, с которого будет прочитано первое значение short; должно быть неотрицательным и меньшеsrc.length -
length— количество значений short для чтения из заданного массива; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиsrc.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если не выполняются предварительные условия для параметровindex,offsetиlength -
ReadOnlyBufferException— если этот буфер доступен только для чтения - С версии:
- 13
put
public ShortBuffer put(int index, short[] src)
Этот метод копирует значения short из заданного исходного массива в этот буфер. Позиция этого буфера не изменяется. Вызов этого метода в форме dst.put(index, src) работает точно так же, как вызов:
dst.put(index, src, 0, src.length);
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение short; должен быть неотрицательным и меньшеlimit() -
src— массив, из которого будут считываться значения short - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно, не меньшеlimit()илиlimit() - index < src.length -
ReadOnlyBufferException— если этот буфер доступен только для чтения - С версии:
- 13
hasArray
public final boolean hasArray()
Если этот метод возвращает true, методы array и arrayOffset можно безопасно вызывать.
array
public final short[] array()
Изменения содержимого этого буфера приведут к изменению содержимого возвращенного массива, и наоборот.
Перед вызовом этого метода вызовите метод hasArray, чтобы убедиться, что у этого буфера есть доступный базовый массив.
- Определено в:
-
arrayв классеBuffer - Возвращает:
- Массив, используемый в качестве основы этого буфера
- Исключения:
-
ReadOnlyBufferException— если этот буфер использует массив в качестве основы, но доступен только для чтения -
UnsupportedOperationException— если этот буфер не использует доступный массив в качестве основы
arrayOffset
public final int arrayOffset()
Если этот буфер использует массив в качестве основы, позиции буфера p соответствует индекс массива p + arrayOffset().
Перед вызовом этого метода вызовите метод hasArray, чтобы убедиться, что у этого буфера есть доступный базовый массив.
- Определено в:
-
arrayOffsetв классеBuffer - Возвращает:
- Смещение первого элемента буфера в его массиве
- Исключения:
-
ReadOnlyBufferException— если этот буфер использует массив в качестве основы, но доступен только для чтения -
UnsupportedOperationException— если этот буфер не использует доступный массив в качестве основы
position
public final ShortBuffer position(int newPosition)
limit
public final ShortBuffer limit(int newLimit)
mark
reset
clear
public final ShortBuffer clear()
Вызовите этот метод перед последовательностью операций чтения из канала или операций put, чтобы заполнить этот буфер. Например:
buf.clear(); // Prepare buffer for reading
in.read(buf); // Read data
Этот метод фактически не удаляет данные из буфера, но называется так, поскольку чаще всего используется в ситуациях, когда это не имеет значения.
flip
public final ShortBuffer 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 ShortBuffer rewind()
Вызовите этот метод перед последовательностью операций записи в канал или операций get, предполагая, что предел уже установлен должным образом. Например:
out.write(buf); // Write remaining data
buf.rewind(); // Rewind buffer
buf.get(array); // Copy data into array
compact
public abstract ShortBuffer 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(ShortBuffer that)
Два буфера коротких целых чисел сравниваются лексикографически по последовательностям оставшихся элементов, независимо от начальной позиции каждой последовательности в соответствующем буфере. Пары элементов типа short сравниваются так, как если бы был вызван метод Short.compare(short,short).
Буфер коротких целых чисел нельзя сравнивать с объектом любого другого типа.
- Определено в:
-
compareToв интерфейсеComparable<ShortBuffer> - Параметры:
-
that- объект для сравнения. - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если этот буфер меньше, равен или больше указанного буфера
mismatch
public int mismatch(ShortBuffer that)
position каждого буфера и находится в диапазоне от 0 включительно до меньшего из значений remaining — количества оставшихся элементов в каждом буфере — исключительно. Если у двух буферов есть общий префикс, возвращаемый индекс равен длине этого префикса, а значит, на этом индексе в соответствующих буферах имеется несовпадение. Если один буфер является собственным префиксом другого, возвращаемый индекс равен меньшему количеству оставшихся элементов в каждом буфере; следовательно, этот индекс действителен только для буфера с большим количеством оставшихся элементов. В противном случае несовпадений нет.
- Параметры:
-
that- буфер байтов для проверки на несовпадение с этим буфером - Возвращает:
- Относительный индекс первого несовпадения между этим и указанным буфером либо -1, если несовпадений нет.
- Начиная с версии:
- 11
order
public abstract ByteOrder order()
Порядок байтов буфера коротких целых чисел, созданного выделением памяти или обертыванием существующего массива short, совпадает с 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.