Spec-Zone.ru › OpenJDK 25

Класс ShortBuffer

java.lang.Object
java.nio.Buffer
java.nio.ShortBuffer
Все реализованные интерфейсы:
Comparable<ShortBuffer>
public abstract sealed class ShortBuffer extends Buffer implements Comparable<ShortBuffer>
Буфер short.

Этот класс определяет четыре категории операций с буферами short:

  • Абсолютные и относительные методы get и put, выполняющие чтение и запись отдельных значений short;

  • Абсолютные и относительные методы bulk get, переносящие непрерывные последовательности значений short из этого буфера в массив;

  • Абсолютные и относительные методы bulk put, переносящие непрерывные последовательности значений short из массива short или другого буфера short в этот буфер;

  • Метод для compacting буфера short.

Буферы short можно создать с помощью allocation, выделяющего память для содержимого буфера, с помощью wrapping существующего массива short в буфер или создав представление существующего буфера byte.

Как и буфер byte, буфер short может быть прямым или непрямым. Буфер short, созданный с помощью методов wrap этого класса, будет непрямым. Буфер short, созданный как представление буфера byte, будет прямым тогда и только тогда, когда сам буфер byte является прямым. Определить, является ли буфер short прямым, можно, вызвав метод isDirect.

Методы этого класса, для которых не предусмотрено возвращаемое значение, возвращают буфер, для которого они вызваны. Это позволяет объединять вызовы методов в цепочки.

Необязательные операции

Методы, определенные как необязательные операции, при вызове для буфера только для чтения ShortBuffer выбрасывают исключение ReadOnlyBufferException. Методы array и arrayOffset выбрасывают исключение UnsupportedOperationException, если ShortBuffer не поддерживается доступным массивом short (независимо от того, доступен ли ShortBuffer только для чтения).
Начиная с версии:
1.4

Краткое описание методов

Модификатор и тип Метод Описание
static ShortBuffer allocate(int capacity)
Выделяет новый буфер short.
final short[] array()
Возвращает массив short, на основе которого создан этот буфер (необязательная операция).
final int arrayOffset()
Возвращает смещение в базовом массиве этого буфера до первого элемента буфера (необязательная операция).
abstract ShortBuffer asReadOnlyBuffer()
Создает новый буфер short только для чтения, совместно использующий содержимое этого буфера.
final ShortBuffer clear()
Очищает этот буфер.
abstract ShortBuffer compact()
Компактирует этот буфер (необязательная операция).
int compareTo(ShortBuffer that)
Сравнивает этот буфер с другим.
abstract ShortBuffer duplicate()
Создает новый буфер short, совместно использующий содержимое этого буфера.
boolean equals(Object ob)
Определяет, равен ли этот буфер другому объекту.
final ShortBuffer flip()
Переводит этот буфер в режим чтения.
abstract short get()
Относительный метод get.
abstract short get(int index)
Абсолютный метод get.
ShortBuffer get(int index, short[] dst)
Абсолютный пакетный метод get.
ShortBuffer get(int index, short[] dst, int offset, int length)
Абсолютный пакетный метод get.
ShortBuffer get(short[] dst)
Относительный пакетный метод get.
ShortBuffer get(short[] dst, int offset, int length)
Относительный пакетный метод get.
final boolean hasArray()
Определяет, поддерживается ли этот буфер доступным массивом short.
int hashCode()
Возвращает текущий хеш-код этого буфера.
abstract boolean isDirect()
Определяет, является ли этот буфер short прямым.
final ShortBuffer limit(int newLimit)
Устанавливает предел этого буфера.
final ShortBuffer mark()
Устанавливает отметку этого буфера в текущей позиции.
int mismatch(ShortBuffer that)
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером.
abstract ByteOrder order()
Возвращает порядок байтов этого буфера.
final ShortBuffer position(int newPosition)
Устанавливает позицию этого буфера.
abstract ShortBuffer put(int index, short s)
Абсолютный метод put (необязательная операция).
ShortBuffer put(int index, short[] src)
Абсолютный пакетный метод put (необязательная операция).
ShortBuffer put(int index, short[] src, int offset, int length)
Абсолютный пакетный метод put (необязательная операция).
ShortBuffer put(int index, ShortBuffer src, int offset, int length)
Абсолютный пакетный метод put (необязательная операция).
abstract ShortBuffer put(short s)
Относительный метод put (необязательная операция).
final ShortBuffer put(short[] src)
Относительный пакетный метод put (необязательная операция).
ShortBuffer put(short[] src, int offset, int length)
Относительный пакетный метод put (необязательная операция).
ShortBuffer put(ShortBuffer src)
Относительный пакетный метод put (необязательная операция).
final ShortBuffer reset()
Возвращает позицию этого буфера к ранее установленной отметке.
final ShortBuffer rewind()
Перематывает этот буфер.
abstract ShortBuffer slice()
Создает новый буфер short, содержимое которого представляет собой совместно используемую подпоследовательность содержимого этого буфера.
abstract ShortBuffer slice(int index, int length)
Создает новый буфер short, содержимое которого представляет собой совместно используемую подпоследовательность содержимого этого буфера.
String toString()
Возвращает строку с кратким описанием состояния этого буфера.
static ShortBuffer wrap(short[] array)
Оборачивает массив short в буфер.
static ShortBuffer wrap(short[] array, int offset, int length)
Оборачивает массив short в буфер.

Методы, объявленные в классе Buffer

capacity, hasRemaining, isReadOnly, limit, position, remaining

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

allocate

public static ShortBuffer allocate(int capacity)
Выделяет новый буфер short.

Позиция нового буфера будет равна нулю, его предел будет равен его ёмкости, его отметка будет не определена, каждый его элемент будет инициализирован нулём, а порядок байтов будет соответствовать native order базового оборудования. У него будет backing array, а его array offset будет равен нулю.

Параметры:
capacity — ёмкость нового буфера в значениях short
Возвращает:
Новый буфер short
Вызывает исключение:
IllegalArgumentException — если capacity является отрицательным целым числом

wrap

public static ShortBuffer wrap(short[] array, int offset, int length)
Обертывает массив short в буфер.

Новый буфер будет опираться на указанный массив 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 в буфер.

Новый буфер будет опираться на указанный массив short; то есть изменения буфера будут изменять массив, и наоборот. Ёмкость и предел нового буфера будут равны array.length, его позиция будет равна нулю, его отметка будет не определена, а порядок байтов будет соответствовать native order базового оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.

Параметры:
array — массив, на который будет опираться этот буфер
Возвращает:
Новый буфер short

slice

public abstract ShortBuffer slice()
Создаёт новый буфер short, содержимое которого является общей подпоследовательностью содержимого этого буфера.

Содержимое нового буфера будет начинаться с текущей позиции этого буфера. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и отметки двух буферов будут независимы.

Позиция нового буфера будет равна нулю, его ёмкость и предел будут равны количеству значений short, оставшихся в этом буфере, его отметка будет не определена, а порядок байтов будет идентичен порядку байтов этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.

Указано в:
slice в классе Buffer
Возвращает:
Новый буфер short

slice

public abstract ShortBuffer slice(int index, int length)
Создаёт новый буфер short, содержимое которого является общей подпоследовательностью содержимого этого буфера.

Содержимое нового буфера будет начинаться с позиции index в этом буфере и будет содержать length элементов. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и отметки двух буферов будут независимы.

Позиция нового буфера будет равна нулю, его ёмкость и предел будут равны length, его отметка будет не определена, а порядок байтов будет идентичен порядку байтов этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.

Указано в:
slice в классе Buffer
Параметры:
index — позиция в этом буфере, с которой будет начинаться содержимое нового буфера; должна быть неотрицательной и не превышать limit()
length — количество элементов в новом буфере; должно быть неотрицательным и не превышать limit() - index
Возвращает:
Новый буфер
Вызывает исключение:
IndexOutOfBoundsException — если index отрицательно или больше limit(), length отрицательно или length > limit() - index
Начиная с версии:
13

duplicate

public abstract ShortBuffer duplicate()
Создаёт новый буфер short, совместно использующий содержимое этого буфера.

Содержимое нового буфера будет таким же, как у этого буфера. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и отметки двух буферов будут независимы.

Значения ёмкости, предела, позиции, отметки и порядка байтов нового буфера будут идентичны соответствующим значениям этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.

Указано в:
duplicate в классе Buffer
Возвращает:
Новый буфер short

asReadOnlyBuffer

public abstract ShortBuffer asReadOnlyBuffer()
Создаёт новый буфер short, доступный только для чтения и совместно использующий содержимое этого буфера.

Содержимое нового буфера будет таким же, как у этого буфера. Изменения содержимого этого буфера будут видны в новом буфере; однако сам новый буфер будет доступен только для чтения и не позволит изменять общее содержимое. Значения позиции, предела и отметки двух буферов будут независимы.

Значения ёмкости, предела, позиции, отметки и порядка байтов нового буфера будут идентичны соответствующим значениям этого буфера.

Если этот буфер сам доступен только для чтения, данный метод работает точно так же, как метод duplicate.

Возвращает:
Новый буфер short, доступный только для чтения

get

public abstract short get()
Относительный метод get. Считывает значение short в текущей позиции этого буфера, а затем увеличивает позицию.
Возвращает:
Значение short в текущей позиции буфера
Вызывает исключение:
BufferUnderflowException — если текущая позиция буфера не меньше его предела

put

public abstract ShortBuffer put(short s)
Относительный метод put (необязательная операция).

Записывает указанное значение short в этот буфер в текущей позиции, а затем увеличивает позицию.

Параметры:
s — значение short для записи
Возвращает:
Этот буфер
Вызывает исключение:
BufferOverflowException — если текущая позиция этого буфера не меньше его предела
ReadOnlyBufferException — если этот буфер доступен только для чтения

get

public abstract short get(int index)
Абсолютный метод get. Считывает значение short по указанному индексу.
Параметры:
index — индекс, по которому будет считано значение short
Возвращает:
Значение short по указанному индексу
Вызывает исключение:
IndexOutOfBoundsException — если index отрицательно или не меньше предела буфера

put

public abstract ShortBuffer put(int index, short s)
Абсолютный метод put (необязательная операция).

Записывает указанное значение short в этот буфер по указанному индексу.

Параметры:
index — индекс, по которому будет записано значение short
s — значение short для записи
Возвращает:
Этот буфер
Вызывает исключение:
IndexOutOfBoundsException — если index отрицательно или не меньше предела буфера
ReadOnlyBufferException — если этот буфер доступен только для чтения

get

public ShortBuffer get(short[] dst, int offset, int length)
Относительный метод массового get.

Этот метод переносит значения 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();
за исключением того, что сначала проверяется наличие достаточного количества значений short в этом буфере; кроме того, этот метод потенциально намного эффективнее.
Параметры:
dst — массив, в который будут записаны значения short
offset — смещение в массиве первого записываемого значения short; должно быть неотрицательным и не превышать dst.length
length — максимальное количество значений short для записи в указанный массив; должно быть неотрицательным и не превышать dst.length - offset
Возвращает:
Этот буфер
Вызывает исключение:
BufferUnderflowException — если в этом буфере осталось меньше length значений short
IndexOutOfBoundsException — если предварительные условия для параметров offset и length не выполняются

get

public ShortBuffer get(short[] dst)
Относительный метод массового get.

Этот метод переносит значения 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)
Абсолютный метод массового get.

Этот метод переносит 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)
Абсолютный метод массового get.

Этот метод переносит значения 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)
Относительный метод массового put (необязательная операция).

Этот метод переносит оставшиеся значения 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)
Абсолютный метод массового put (необязательная операция).

Этот метод переносит 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)
Относительный метод массового put (необязательная операция).

Этот метод переносит значения 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)
Относительный метод массового put (необязательная операция).

Этот метод переносит всё содержимое указанного исходного массива 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)
Абсолютный метод массового put (необязательная операция).

Этот метод переносит 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)
Абсолютный метод массового put (необязательная операция).

Этот метод копирует значения 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()
Сообщает, опирается ли этот буфер на доступный массив short.

Если этот метод возвращает true, методы array и arrayOffset можно безопасно вызывать.

Указано в:
hasArray в классе Buffer
Возвращает:
true тогда и только тогда, когда этот буфер опирается на массив и не доступен только для чтения

array

public final short[] array()
Возвращает массив short, на который опирается этот буфер (необязательная операция).

Изменения содержимого этого буфера изменят содержимое возвращённого массива, и наоборот.

Перед вызовом этого метода вызовите метод 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)
Устанавливает позицию этого буфера. Если отметка определена и больше новой позиции, она сбрасывается.
Переопределяет:
position в классе Buffer
Параметры:
newPosition — новое значение позиции; должно быть неотрицательным и не превышать текущий предел
Возвращает:
Этот буфер
Начиная с версии:
9

limit

public final ShortBuffer limit(int newLimit)
Устанавливает предел этого буфера. Если позиция больше нового предела, она устанавливается в значение нового предела. Если отметка определена и больше нового предела, она сбрасывается.
Переопределяет:
limit в классе Buffer
Параметры:
newLimit — новое значение предела; должно быть неотрицательным и не превышать ёмкость этого буфера
Возвращает:
Этот буфер
Начиная с версии:
9

mark

public final ShortBuffer mark()
Устанавливает отметку этого буфера в его текущей позиции.
Переопределяет:
mark в классе Buffer
Возвращает:
Этот буфер
Начиная с версии:
9

reset

public final ShortBuffer reset()
Возвращает позицию этого буфера к ранее отмеченной позиции.

Вызов этого метода не изменяет и не сбрасывает значение отметки.

Переопределяет:
reset в классе Buffer
Возвращает:
Этот буфер
Начиная с версии:
9

clear

public final ShortBuffer clear()
Очищает этот буфер. Позиция устанавливается в ноль, предел устанавливается равным ёмкости, а отметка сбрасывается.

Вызовите этот метод перед последовательностью операций чтения из канала или операций put, чтобы заполнить этот буфер. Например:

    buf.clear();     // Prepare buffer for reading
    in.read(buf);    // Read data

Этот метод фактически не стирает данные в буфере, но называется так, как будто стирает, поскольку чаще всего используется в ситуациях, когда это не имеет значения.

Переопределяет:
clear в классе Buffer
Возвращает:
Этот буфер
Начиная с версии:
9

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 при передаче данных из одного места в другое.

Переопределяет:
flip в классе Buffer
Возвращает:
Этот буфер
Начиная с версии:
9

rewind

public final ShortBuffer rewind()
Перематывает этот буфер. Позиция устанавливается в ноль, а метка сбрасывается.

Вызовите этот метод перед последовательностью операций записи в канал или операций get, предполагая, что предел уже установлен надлежащим образом. Например:

    out.write(buf);    // Write remaining data
    buf.rewind();      // Rewind buffer
    buf.get(array);    // Copy data into array
Переопределяет:
rewind в классе Buffer
Возвращает:
Этот буфер
Начиная с версии:
9

compact

public abstract ShortBuffer compact()
Уплотняет этот буфер (необязательная операция).

Значения типа short между текущей позицией буфера и его пределом, если таковые имеются, копируются в начало буфера. То есть значение типа short с индексом p = position() копируется в индекс ноль, значение типа short с индексом p + 1 копируется в индекс один и так далее, пока значение типа short с индексом limit() - 1 не будет скопировано в индекс n = limit() - 1 - p. Затем позиция буфера устанавливается в n+1, а предел — в его емкость. Метка, если она установлена, сбрасывается.

Позиция буфера устанавливается равной числу скопированных значений типа short, а не нулю, чтобы сразу после вызова этого метода можно было вызвать другой относительный метод put.

Возвращает:
Этот буфер
Вызывает исключение:
ReadOnlyBufferException - Если этот буфер доступен только для чтения

isDirect

public abstract boolean isDirect()
Определяет, является ли этот буфер short прямым.
Определено в:
isDirect в классе Buffer
Возвращает:
true, если и только если этот буфер является прямым

toString

public String toString()
Возвращает строку с кратким описанием состояния этого буфера.
Переопределяет:
toString в классе Object
Возвращает:
Строка с кратким описанием

hashCode

public int hashCode()
Возвращает текущий хеш-код этого буфера.

Хеш-код буфера short зависит только от оставшихся в нем элементов, то есть от элементов, начиная с position() и заканчивая элементом с индексом limit() - 1 включительно.

Поскольку хеш-коды буферов зависят от их содержимого, не рекомендуется использовать буферы в качестве ключей в хеш-таблицах и подобных структурах данных, если не известно, что их содержимое не изменится.

Переопределяет:
hashCode в классе Object
Возвращает:
Текущий хеш-код этого буфера
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

equals

public boolean equals(Object ob)
Определяет, равен ли этот буфер другому объекту.

Два буфера short равны тогда и только тогда, когда выполняются следующие условия:

  1. Они имеют одинаковый тип элементов,

  2. Они содержат одинаковое число оставшихся элементов, и

  3. Две последовательности оставшихся элементов, рассматриваемые независимо от их начальных позиций, попарно равны.

Буфер short не равен объекту другого типа.

Переопределяет:
equals в классе Object
Параметры:
ob - объект, с которым сравнивается этот буфер
Возвращает:
true, если и только если этот буфер равен указанному объекту
См. также:
  • Object.hashCode()
  • HashMap

compareTo

public int compareTo(ShortBuffer that)
Сравнивает этот буфер с другим.

Два буфера short сравниваются лексикографически по последовательностям оставшихся элементов, независимо от начальной позиции каждой последовательности в соответствующем буфере. Пары элементов типа short сравниваются так, как если бы был вызван метод Short.compare(short,short).

Буфер short нельзя сравнить с объектом другого типа.

Определено в:
compareTo в интерфейсе Comparable<ShortBuffer>
Параметры:
that - объект для сравнения.
Возвращает:
Отрицательное целое число, ноль или положительное целое число, если этот буфер меньше, равен или больше указанного буфера

mismatch

public int mismatch(ShortBuffer that)
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером. Индекс отсчитывается относительно position каждого буфера и находится в диапазоне от 0 (включительно) до меньшего из чисел элементов remaining в каждом буфере (не включая это число).

Если у двух буферов есть общий префикс, возвращаемый индекс равен длине общего префикса, а значит, по этому индексу в соответствующих буферах обнаруживается несовпадение. Если один буфер является собственным префиксом другого, возвращаемый индекс равен меньшему числу оставшихся элементов в каждом буфере; следовательно, этот индекс действителен только для буфера с большим числом оставшихся элементов. В противном случае несовпадений нет.

Параметры:
that - буфер byte для проверки на несовпадение с этим буфером
Возвращает:
Относительный индекс первого несовпадения между этим и заданным буфером или -1, если несовпадений нет.
Начиная с версии:
11

order

public abstract ByteOrder order()
Возвращает порядок байтов этого буфера.

Порядок байтов буфера short, созданного выделением памяти или оберткой существующего массива short, соответствует native order базового аппаратного обеспечения. Порядок байтов буфера short, созданного как представление буфера byte, совпадает с порядком байтов буфера byte на момент создания представления.

Возвращает:
Порядок байтов этого буфера

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая общие сведения, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/ShortBuffer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API