Spec-Zone.ru › OpenJDK 27

Класс 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 в буфер или путем создания представления существующего буфера байтов.

Как и буфер байтов, буфер short может быть прямым или непрямым. Буфер short, созданный с помощью методов wrap этого класса, будет непрямым. Буфер short, созданный как представление буфера байтов, будет прямым тогда и только тогда, когда сам буфер байтов является прямым. Чтобы определить, является ли буфер 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
Модификатор и тип Метод Описание
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка времени.

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

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()
Уплотняет этот буфер (необязательная операция).

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

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

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

isDirect

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

toString

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

hashCode

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

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

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

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

equals

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

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

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

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

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

Буфер коротких целых чисел не равен объекту любого другого типа.

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

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 базового оборудования. Порядок байтов буфера коротких целых чисел, созданного как представление буфера байтов, совпадает с порядком байтов буфера байтов на момент создания представления.

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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