Spec-Zone.ru › OpenJDK 24

Класс ShortBuffer

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

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

  • Абсолютные и относительные методы get и put для чтения и записи отдельных коротких целых чисел;

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

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

  • Метод для compacting буфера коротких целых чисел.

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

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

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

Дополнительные операции

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

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

Модификатор и тип Метод Описание
static ShortBuffer allocate(int capacity)
Выделяет новый буфер коротких целых чисел.
final short[] array()
Возвращает массив коротких целых чисел, который поддерживает этот буфер (дополнительная операция).
final int arrayOffset()
Возвращает смещение в массиве, поддерживающем этот буфер, первого элемента буфера (дополнительная операция).
abstract ShortBuffer asReadOnlyBuffer()
Создаёт новый, только для чтения, буфер коротких целых чисел, который использует содержимое этого буфера.
final ShortBuffer clear()
Очищает этот буфер.
abstract ShortBuffer compact()
Уплотняет этот буфер (дополнительная операция).
int compareTo(ShortBuffer that)
Сравнивает этот буфер с другим.
abstract ShortBuffer duplicate()
Создаёт новый буфер коротких целых чисел, который использует содержимое этого буфера.
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()
Указывает, поддерживает ли этот буфер доступ к массиву коротких целых чисел.
int hashCode()
Возвращает текущий хэш-код этого буфера.
abstract boolean isDirect()
Указывает, является ли этот буфер коротких целых чисел прямым.
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()
Создаёт новый буфер коротких целых чисел, содержащий фрагмент содержимого этого буфера.
abstract ShortBuffer slice(int index, int length)
Создаёт новый буфер коротких целых чисел, содержащий фрагмент содержимого этого буфера.
String toString()
Возвращает строку, описывающую состояние этого буфера.
static ShortBuffer wrap(short[] array)
Заворачивает массив коротких целых чисел в буфер.
static ShortBuffer wrap(short[] array, int offset, int length)
Заворачивает массив коротких целых чисел в буфер.

Методы, унаследованные от класса java.nio.Buffer

capacity, hasRemaining, isReadOnly, limit, position, remaining

Методы, унаследованные от класса java.lang.Object

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

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

allocate

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

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

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

wrap

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

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

Параметры:
array - Массив, который будет поддерживать новый буфер
offset - Смещение подмассива для использования; должно быть неотрицательным и не превышать array.length. Положение нового буфера будет установлено в это значение.
length - Длина подмассива для использования; должно быть неотрицательным и не превышать array.length - offset. Предел нового буфера будет установлен в offset + length.
Возвращает:
Новый буфер коротких целых
Исключения:
IndexOutOfBoundsException - Если условия на offset и length параметры не выполняются

wrap

public static ShortBuffer wrap(short[] array)
Оборачивает массив коротких целых в буфер.

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

Параметры:
array - Массив, который будет поддерживать этот буфер
Возвращает:
Новый буфер коротких целых

slice

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

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

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

Определено в:
slice в классе Buffer
Возвращает:
Новый буфер коротких целых

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()
Создаёт новый буфер коротких целых, разделяющий содержимое этого буфера.

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

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

Определено в:
duplicate в классе Buffer
Возвращает:
Новый буфер коротких целых

asReadOnlyBuffer

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

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

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

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

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

get

public abstract short get()
Метод относительного чтения. Читает короткое целое в текущем положении буфера и затем увеличивает положение.
Возвращает:
Короткое целое в текущем положении буфера
Исключения:
BufferUnderflowException - Если текущее положение буфера не меньше его предела

put

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

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

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

get

public abstract short get(int index)
Метод абсолютного чтения. Читает короткое целое по заданному индексу.
Параметры:
index - Индекс, с которого будет читаться короткое целое
Возвращает:
Короткое целое по заданному индексу
Исключения:
IndexOutOfBoundsException - Если index отрицательно или не меньше предела буфера

put

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

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

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

get

public ShortBuffer get(short[] dst, int offset, int length)
Метод относительного пакетного получения.

Этот метод копирует короткие целые числа из этого буфера в заданный массив назначения. Если оставшихся коротких целых чисел в буфере меньше, чем требуется для выполнения запроса, то есть, если length > remaining(), то короткие целые числа не копируются и выбрасывается исключение BufferUnderflowException.

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

Другими словами, вызов этого метода в форме src.get(dst, off, len) имеет точно такой же эффект, как цикл

    for (int i = off; i < off + len; i++)
        dst[i] = src.get();
за исключением того, что он сначала проверяет, достаточно ли коротких целых чисел в этом буфере, и потенциально является гораздо более эффективным.
Параметры:
dst - Массив, в который будут записываться короткие целые числа
offset - Смещение в массиве первого короткого целого числа, которое будет записано; должно быть неотрицательным и не превышать dst.length
length - Максимальное количество коротких целых чисел, которые будут записаны в заданный массив; должно быть неотрицательным и не превышать dst.length - offset
Возвращает:
Этот буфер
Исключения:
BufferUnderflowException - Если оставшихся коротких целых чисел в этом буфере меньше, чем length
IndexOutOfBoundsException - Если условия на параметры offset и length не выполняются

get

public ShortBuffer get(short[] dst)
Метод относительного пакетного получения.

Этот метод копирует короткие целые числа из этого буфера в заданный массив назначения. Вызов этого метода в форме src.get(a) ведет себя точно так же, как вызов

    src.get(a, 0, a.length)
Параметры:
dst - Массив назначения
Возвращает:
Этот буфер
Исключения:
BufferUnderflowException - Если оставшихся коротких целых чисел в этом буфере меньше, чем length

get

public ShortBuffer get(int index, short[] dst, int offset, int length)
Метод абсолютного пакетного получения.

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

Вызов этого метода в форме src.get(index, dst, offset, length) имеет точно такой же эффект, как следующий цикл, за исключением того, что он сначала проверяет согласованность предоставленных параметров и потенциально гораздо более эффективен:

    for (int i = offset, j = index; i < offset + length; i++, j++)
        dst[i] = src.get(j);
Параметры:
index - Индекс в этом буфере, с которого будет считано первое короткое целое число; должно быть неотрицательным и меньше, чем limit()
dst - Массив назначения
offset - Смещение в массиве первого короткого целого числа, которое будет записано; должно быть неотрицательным и меньше, чем dst.length
length - Количество коротких целых чисел, которые будут записаны в заданный массив; должно быть неотрицательным и не превышать меньшее из limit() - index и dst.length - offset
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если условия на параметры index, offset и length не выполняются
С:
13

get

public ShortBuffer get(int index, short[] dst)
Метод абсолютного пакетного получения.

Этот метод копирует короткие целые числа из этого буфера в заданный массив назначения. Позиция этого буфера не изменяется. Вызов этого метода в форме src.get(index, dst) ведет себя точно так же, как вызов:

    src.get(index, dst, 0, dst.length)
Параметры:
index - Индекс в этом буфере, с которого будет считано первое короткое целое число; должно быть неотрицательным и меньше, чем limit()
dst - Массив назначения
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если index отрицательно, не меньше, чем limit(), или limit() - index < dst.length
С:
13

put

public ShortBuffer put(ShortBuffer src)
Метод относительного пакетного вставки (необязательная операция).

Этот метод копирует оставшиеся короткие целые числа из заданного буфера источника в этот буфер. Если оставшихся коротких целых чисел в буфере-источнике больше, чем в этом буфере, то есть, если src.remaining() > remaining(), то короткие целые числа не копируются и выбрасывается исключение BufferOverflowException.

В противном случае этот метод копирует n = src.remaining() коротких целых чисел из заданного буфера в этот буфер, начиная с текущей позиции каждого буфера. Позиции обоих буферов затем увеличиваются на n.

Другими словами, вызов этого метода в форме dst.put(src) имеет точно такой же эффект, как цикл

    while (src.hasRemaining())
        dst.put(src.get());
за исключением того, что он сначала проверяет, достаточно ли места в этом буфере, и потенциально является гораздо более эффективным. Если этот буфер и буфер источника используют один и тот же базовый массив или память, то результат будет таким, как если бы элементы источника сначала были скопированы в промежуточное местоположение перед записью в этот буфер.
Параметры:
src - Буфер источника, из которого будут считываться короткие целые числа; не должен быть этим буфером
Возвращает:
Этот буфер
Исключения:
BufferOverflowException - Если в этом буфере недостаточно места для оставшихся коротких целых чисел в буфере-источнике
IllegalArgumentException - Если буфер источника - это этот буфер
ReadOnlyBufferException - Если этот буфер только для чтения

put

public ShortBuffer put(int index, ShortBuffer src, int offset, int length)
Метод абсолютного пакетного вставки (необязательная операция).

Этот метод копирует length коротких целых чисел в этот буфер из заданного буфера источника, начиная с заданного 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 - Индекс в этом буфере, в котором будет записано первое короткое целое число; должно быть неотрицательным и меньше, чем limit()
src - Буфер источника
offset - Индекс в буфере источника первого короткого целого числа, которое будет считано; должно быть неотрицательным и меньше, чем src.limit()
length - Количество коротких целых чисел, которые будут считаны из заданного буфера; должно быть неотрицательным и не превышать меньшее из limit() - index и src.limit() - offset
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если условия на параметры index, offset и length не выполняются
ReadOnlyBufferException - Если этот буфер только для чтения
С:
16

put

public ShortBuffer put(short[] src, int offset, int length)
Метод относительного пакетного вставки (необязательная операция).

Этот метод копирует короткие целые числа в этот буфер из заданного массива источника. Если коротких целых чисел, подлежащих копированию из массива, больше, чем остается в этом буфере, то есть, если length > remaining(), то короткие целые числа не копируются и выбрасывается исключение BufferOverflowException.

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

Другими словами, вызов этого метода в форме dst.put(src, off, len) имеет точно такой же эффект, как цикл

    for (int i = off; i < off + len; i++)
        dst.put(src[i]);
за исключением того, что он сначала проверяет, достаточно ли места в этом буфере, и потенциально является гораздо более эффективным.
Параметры:
src - Массив источника
offset - Смещение в массиве первого короткого целого числа, которое будет считано; должно быть неотрицательным и не превышать src.length
length - Количество коротких целых чисел, которое будет считано из заданного массива; должно быть неотрицательным и не превышать src.length - offset
Возвращает:
Этот буфер
Исключения:
BufferOverflowException - Если в этом буфере недостаточно места
IndexOutOfBoundsException - Если условия на параметры offset и length не выполняются
ReadOnlyBufferException - Если этот буфер только для чтения

put

public final ShortBuffer put(short[] src)
Метод put для копирования всего содержимого заданного массива short в этот буфер (необязательная операция).

Этот метод копирует всё содержимое заданного массива 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()
Указывает, является ли этот короткий буфер прямым.
Указано в:
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(java.lang.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 базового оборудования. Порядок байтов короткого буфера, созданного как представление буфера байтов, является порядком байтов буфера байтов в момент создания представления.

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/nio/ShortBuffer.html

Spec-Zone.ru

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