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