Класс DoubleBuffer
- Все реализованные интерфейсы:
Comparable<DoubleBuffer>
public abstract sealed class DoubleBuffer extends Buffer implements Comparable<DoubleBuffer>
Этот класс определяет четыре категории операций с буферами double:
Абсолютные и относительные методы
getиput, которые считывают и записывают отдельные значения double;Абсолютные и относительные методы
bulk get, которые передают непрерывные последовательности значений double из этого буфера в массив;Абсолютные и относительные методы
bulk put, которые передают непрерывные последовательности значений double из массива double или другого буфера double в этот буфер;Метод для
compactingбуфера double.
Буферы double можно создавать с помощью allocation, выделяющего пространство для содержимого буфера, с помощью wrapping существующего массива double в буфер или путем создания представления существующего байтового буфера.
Как и байтовый буфер, буфер double может быть прямым или непрямым. Буфер double, созданный с помощью методов wrap этого класса, будет непрямым. Буфер double, созданный как представление байтового буфера, будет прямым тогда и только тогда, когда сам байтовый буфер является прямым. Определить, является ли буфер double прямым, можно вызовом метода isDirect.
Методы этого класса, для которых не предусмотрено иного возвращаемого значения, возвращают буфер, для которого они вызваны. Это позволяет объединять вызовы методов в цепочки.
Необязательные операции
Методы, указанные как необязательные операции, при вызове для DoubleBuffer, доступного только для чтения, выбрасывают исключение ReadOnlyBufferException. Методы array и arrayOffset выбрасывают исключение UnsupportedOperationException, если DoubleBuffer не поддерживается доступным массивом double (независимо от того, доступен ли DoubleBuffer только для чтения).- С версии:
- 1.4
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static DoubleBuffer |
allocate |
Выделяет новый буфер double. |
final double[] |
array() |
Возвращает массив double, на основе которого создан этот буфер (необязательная операция). |
final int |
arrayOffset() |
Возвращает смещение в массиве, на основе которого создан этот буфер, до первого элемента буфера (необязательная операция). |
abstract DoubleBuffer |
asReadOnlyBuffer() |
Создает новый буфер double, доступный только для чтения и использующий то же содержимое, что и этот буфер. |
final DoubleBuffer |
clear() |
Очищает этот буфер. |
abstract DoubleBuffer |
compact() |
Компактирует этот буфер (необязательная операция). |
int |
compareTo |
Сравнивает этот буфер с другим. |
abstract DoubleBuffer |
duplicate() |
Создает новый буфер double, использующий то же содержимое, что и этот буфер. |
boolean |
equals |
Определяет, равен ли этот буфер другому объекту. |
final DoubleBuffer |
flip() |
Переворачивает этот буфер. |
abstract double |
get() |
Относительный метод get. |
DoubleBuffer |
get |
Относительный пакетный метод get. |
DoubleBuffer |
get |
Относительный пакетный метод get. |
abstract double |
get |
Абсолютный метод get. |
DoubleBuffer |
get |
Абсолютный пакетный метод get. |
DoubleBuffer |
get |
Абсолютный пакетный метод get. |
final boolean |
hasArray() |
Определяет, поддерживается ли этот буфер доступным массивом double. |
int |
hashCode() |
Возвращает текущий хеш-код этого буфера. |
abstract boolean |
isDirect() |
Определяет, является ли этот буфер double прямым. |
final DoubleBuffer |
limit |
Устанавливает предел этого буфера. |
final DoubleBuffer |
mark() |
Устанавливает отметку буфера в его текущей позиции. |
int |
mismatch |
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером. |
abstract ByteOrder |
order() |
Возвращает порядок байтов этого буфера. |
final DoubleBuffer |
position |
Устанавливает позицию этого буфера. |
abstract DoubleBuffer |
put |
Относительный метод put (необязательная операция). |
final DoubleBuffer |
put |
Относительный пакетный метод put (необязательная операция). |
DoubleBuffer |
put |
Относительный пакетный метод put (необязательная операция). |
abstract DoubleBuffer |
put |
Абсолютный метод put (необязательная операция). |
DoubleBuffer |
put |
Абсолютный пакетный метод put (необязательная операция). |
DoubleBuffer |
put |
Абсолютный пакетный метод put (необязательная операция). |
DoubleBuffer |
put |
Абсолютный пакетный метод put (необязательная операция). |
DoubleBuffer |
put |
Относительный пакетный метод put (необязательная операция). |
final DoubleBuffer |
reset() |
Возвращает позицию буфера к ранее установленной отметке. |
final DoubleBuffer |
rewind() |
Возвращает этот буфер в исходное состояние. |
abstract DoubleBuffer |
slice() |
Создает новый буфер double, содержимое которого является общей подпоследовательностью содержимого этого буфера. |
abstract DoubleBuffer |
slice |
Создает новый буфер double, содержимое которого является общей подпоследовательностью содержимого этого буфера. |
String |
toString() |
Возвращает строку с описанием состояния этого буфера. |
static DoubleBuffer |
wrap |
Оборачивает массив double в буфер. |
static DoubleBuffer |
wrap |
Оборачивает массив double в буфер. |
Методы, объявленные в классе Buffer
capacity, hasRemaining, isReadOnly, limit, position, remaining
Подробное описание методов
allocate
public static DoubleBuffer allocate(int capacity)
Позиция нового буфера будет равна нулю, его предел — его ёмкости, его отметка не будет определена, каждый его элемент будет инициализирован нулём, а порядок байтов будет соответствовать native order используемого оборудования. У него будет backing array, а его array offset будет равен нулю.
- Параметры:
-
capacity— ёмкость нового буфера в значениях типа double - Возвращает:
- Новый буфер double
- Исключения:
-
IllegalArgumentException— еслиcapacityявляется отрицательным целым числом
wrap
public static DoubleBuffer wrap(double[] array, int offset, int length)
Новый буфер будет основан на заданном массиве double; то есть изменения буфера приведут к изменению массива, и наоборот. Ёмкость нового буфера будет равна array.length, его позиция будет равна offset, его предел будет равен offset + length, его отметка не будет определена, а порядок байтов будет соответствовать native order используемого оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array— массив, на основе которого будет создан новый буфер -
offset— смещение используемого подмассива; должно быть неотрицательным и не превышатьarray.length. Позиция нового буфера будет установлена в это значение. -
length— длина используемого подмассива; должна быть неотрицательной и не превышатьarray.length - offset. Предел нового буфера будет установлен вoffset + length. - Возвращает:
- Новый буфер double
- Исключения:
-
IndexOutOfBoundsException— если предварительные условия для параметровoffsetиlengthне выполнены
wrap
public static DoubleBuffer wrap(double[] array)
Новый буфер будет основан на заданном массиве double; то есть изменения буфера приведут к изменению массива, и наоборот. Ёмкость и предел нового буфера будут равны array.length, его позиция будет равна нулю, его отметка не будет определена, а порядок байтов будет соответствовать native order используемого оборудования. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array— массив, на основе которого будет создан этот буфер - Возвращает:
- Новый буфер double
slice
public abstract DoubleBuffer slice()
Содержимое нового буфера будет начинаться с текущей позиции этого буфера. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и отметки двух буферов будут независимы.
Позиция нового буфера будет равна нулю, его ёмкость и предел будут равны количеству оставшихся в этом буфере значений типа double, его отметка не будет определена, а порядок байтов будет таким же, как у этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
slice
public abstract DoubleBuffer 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 DoubleBuffer duplicate()
Содержимое нового буфера будет совпадать с содержимым этого буфера. Изменения содержимого этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и отметки двух буферов будут независимы.
Ёмкость, предел, позиция, значения отметки и порядок байтов нового буфера будут такими же, как у этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и будет доступен только для чтения тогда и только тогда, когда этот буфер доступен только для чтения.
asReadOnlyBuffer
public abstract DoubleBuffer asReadOnlyBuffer()
Содержимое нового буфера будет совпадать с содержимым этого буфера. Изменения содержимого этого буфера будут видны в новом буфере; однако сам новый буфер будет доступен только для чтения и не позволит изменять общее содержимое. Значения позиции, предела и отметки двух буферов будут независимы.
Ёмкость, предел, позиция, значения отметки и порядок байтов нового буфера будут такими же, как у этого буфера.
Если этот буфер сам доступен только для чтения, данный метод работает точно так же, как метод duplicate.
- Возвращает:
- Новый буфер double, доступный только для чтения
get
public abstract double get()
- Возвращает:
- Значение типа double в текущей позиции буфера
- Исключения:
-
BufferUnderflowException— если текущая позиция буфера не меньше его предела
put
public abstract DoubleBuffer put(double d)
Записывает заданное значение типа double в буфер по текущей позиции, а затем увеличивает позицию.
- Параметры:
-
d— значение типа double для записи - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если текущая позиция этого буфера не меньше его предела -
ReadOnlyBufferException— если этот буфер доступен только для чтения
get
public abstract double get(int index)
- Параметры:
-
index— индекс, по которому будет прочитано значение типа double - Возвращает:
- Значение типа double по заданному индексу
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или не меньше предела буфера
put
public abstract DoubleBuffer put(int index, double d)
Записывает заданное значение типа double в буфер по заданному индексу.
- Параметры:
-
index— индекс, по которому будет записано значение типа double -
d— значение типа double для записи - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или не меньше предела буфера -
ReadOnlyBufferException— если этот буфер доступен только для чтения
get
public DoubleBuffer get(double[] dst, int offset, int length)
Этот метод переносит значения типа double из этого буфера в заданный массив назначения. Если в буфере осталось меньше значений типа double, чем требуется для выполнения запроса, то есть если length > remaining(), значения не переносятся и выбрасывается BufferUnderflowException.
В противном случае этот метод копирует length значений типа double из этого буфера в заданный массив, начиная с текущей позиции буфера и заданного смещения в массиве. Затем позиция буфера увеличивается на length.
Иными словами, вызов этого метода в форме src.get(dst, off, len) имеет точно такой же эффект, как цикл
for (int i = off; i < off + len; i++)
dst[i] = src.get();
- Параметры:
-
dst— массив, в который будут записаны значения типа double -
offset— смещение в массиве, соответствующее первому записываемому значению типа double; должно быть неотрицательным и не превышатьdst.length -
length— максимальное количество значений типа double, которое будет записано в заданный массив; должно быть неотрицательным и не превышатьdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException— если в этом буфере осталось меньшеlengthзначений типа double -
IndexOutOfBoundsException— если предварительные условия для параметровoffsetиlengthне выполнены
get
public DoubleBuffer get(double[] dst)
Этот метод переносит значения типа double из этого буфера в заданный массив назначения. Вызов этого метода в форме src.get(a) работает точно так же, как вызов
src.get(a, 0, a.length)
- Параметры:
-
dst— массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException— если в этом буфере осталось меньшеlengthзначений типа double
get
public DoubleBuffer get(int index, double[] dst, int offset, int length)
Этот метод переносит length значений типа double из этого буфера в заданный массив, начиная с заданного индекса в этом буфере и заданного смещения в массиве. Позиция этого буфера не изменяется.
Вызов этого метода в форме src.get(index, dst, offset, length) имеет точно такой же эффект, как следующий цикл, за исключением того, что сначала проверяется согласованность переданных параметров; кроме того, этот метод потенциально намного эффективнее:
for (int i = offset, j = index; i < offset + length; i++, j++)
dst[i] = src.get(j);
- Параметры:
-
index— индекс в этом буфере, с которого будет прочитано первое значение типа double; должен быть неотрицательным и меньшеlimit() -
dst— массив назначения -
offset— смещение в массиве, соответствующее первому записываемому значению типа double; должно быть неотрицательным и меньшеdst.length -
length— количество значений типа double, которое будет записано в заданный массив; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если предварительные условия для параметровindex,offsetиlengthне выполнены - Начиная с версии:
- 13
get
public DoubleBuffer get(int index, double[] dst)
Этот метод переносит значения типа double из этого буфера в заданный массив назначения. Позиция этого буфера не изменяется. Вызов этого метода в форме src.get(index, dst) работает точно так же, как вызов:
src.get(index, dst, 0, dst.length)
- Параметры:
-
index— индекс в этом буфере, с которого будет прочитано первое значение типа double; должен быть неотрицательным и меньшеlimit() -
dst— массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно, не меньшеlimit()илиlimit() - index < dst.length - Начиная с версии:
- 13
put
public DoubleBuffer put(DoubleBuffer src)
Этот метод переносит оставшиеся значения типа double из заданного исходного буфера в этот буфер. Если в исходном буфере осталось больше значений типа double, чем в этом буфере, то есть если src.remaining() > remaining(), значения не переносятся и выбрасывается BufferOverflowException.
В противном случае этот метод копирует n = src.remaining() значений типа double из заданного буфера в этот буфер, начиная с текущей позиции каждого буфера. Затем позиции обоих буферов увеличиваются на n.
Иными словами, вызов этого метода в форме dst.put(src) имеет точно такой же эффект, как цикл
while (src.hasRemaining())
dst.put(src.get());
- Параметры:
-
src— исходный буфер, из которого будут считываться значения типа double; не должен совпадать с этим буфером - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места для оставшихся значений типа double из исходного буфера -
IllegalArgumentException— если исходный буфер совпадает с этим буфером -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public DoubleBuffer put(int index, DoubleBuffer src, int offset, int length)
Этот метод переносит length значений типа double из заданного исходного буфера в этот буфер, начиная с заданной 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— индекс в этом буфере, по которому будет записано первое значение типа double; должен быть неотрицательным и меньшеlimit() -
src— буфер, из которого будут считываться значения типа double -
offset— индекс в исходном буфере, по которому будет прочитано первое значение типа double; должен быть неотрицательным и меньшеsrc.limit() -
length— количество значений типа double, которое будет прочитано из заданного буфера; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиsrc.limit() - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если предварительные условия для параметровindex,offsetиlengthне выполнены -
ReadOnlyBufferException— если этот буфер доступен только для чтения - Начиная с версии:
- 16
put
public DoubleBuffer put(double[] src, int offset, int length)
Этот метод переносит значения типа double из заданного исходного массива в этот буфер. Если количество значений типа double, которые нужно скопировать из массива, превышает количество оставшихся мест в этом буфере, то есть если length > remaining(), значения не переносятся и выбрасывается BufferOverflowException.
В противном случае этот метод копирует length значений типа double из заданного массива в этот буфер, начиная с заданного смещения в массиве и текущей позиции этого буфера. Затем позиция буфера увеличивается на length.
Иными словами, вызов этого метода в форме dst.put(src, off, len) имеет точно такой же эффект, как цикл
for (int i = off; i < off + len; i++)
dst.put(src[i]);
- Параметры:
-
src— массив, из которого будут считываться значения типа double -
offset— смещение в массиве, соответствующее первому считываемому значению типа double; должно быть неотрицательным и не превышатьsrc.length -
length— количество значений типа double, которое будет прочитано из заданного массива; должно быть неотрицательным и не превышатьsrc.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места -
IndexOutOfBoundsException— если предварительные условия для параметровoffsetиlengthне выполнены -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public final DoubleBuffer put(double[] src)
Этот метод переносит всё содержимое заданного исходного массива double в этот буфер. Вызов этого метода в форме dst.put(a) работает точно так же, как вызов
dst.put(a, 0, a.length)
- Параметры:
-
src— исходный массив - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException— если в этом буфере недостаточно места -
ReadOnlyBufferException— если этот буфер доступен только для чтения
put
public DoubleBuffer put(int index, double[] src, int offset, int length)
Этот метод переносит length значений типа double из заданного массива, начиная с заданного смещения в массиве и заданного индекса в этом буфере. Позиция этого буфера не изменяется.
Вызов этого метода в форме dst.put(index, src, offset, length) имеет точно такой же эффект, как следующий цикл, за исключением того, что сначала проверяется согласованность переданных параметров; кроме того, этот метод потенциально намного эффективнее:
for (int i = offset, j = index; i < offset + length; i++, j++)
dst.put(j, src[i]);
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение типа double; должен быть неотрицательным и меньшеlimit() -
src— массив, из которого будут считываться значения типа double -
offset— смещение в массиве, соответствующее первому считываемому значению типа double; должно быть неотрицательным и меньшеsrc.length -
length— количество значений типа double, которое будет прочитано из заданного массива; должно быть неотрицательным и не превышать меньшее из значенийlimit() - indexиsrc.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— если предварительные условия для параметровindex,offsetиlengthне выполнены -
ReadOnlyBufferException— если этот буфер доступен только для чтения - Начиная с версии:
- 13
put
public DoubleBuffer put(int index, double[] src)
Этот метод копирует значения типа double из заданного исходного массива в этот буфер. Позиция этого буфера не изменяется. Вызов этого метода в форме dst.put(index, src) работает точно так же, как вызов:
dst.put(index, src, 0, src.length);
- Параметры:
-
index— индекс в этом буфере, по которому будет записано первое значение типа double; должен быть неотрицательным и меньшеlimit() -
src— массив, из которого будут считываться значения типа double - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно, не меньшеlimit()илиlimit() - index < src.length -
ReadOnlyBufferException— если этот буфер доступен только для чтения - Начиная с версии:
- 13
hasArray
public final boolean hasArray()
Если этот метод возвращает true, методы array и arrayOffset можно безопасно вызывать.
array
public final double[] array()
Изменения содержимого этого буфера приведут к изменению содержимого возвращённого массива, и наоборот.
Перед вызовом этого метода вызовите метод hasArray, чтобы убедиться, что у буфера есть доступный базовый массив.
- Определено в:
-
arrayв классеBuffer - Возвращает:
- Массив, на котором основан этот буфер
- Исключения:
-
ReadOnlyBufferException— если этот буфер основан на массиве, но доступен только для чтения -
UnsupportedOperationException— если этот буфер не основан на доступном массиве
arrayOffset
public final int arrayOffset()
Если этот буфер основан на массиве, то позиции буфера p соответствует индекс массива p + arrayOffset().
Перед вызовом этого метода вызовите метод hasArray, чтобы убедиться, что у буфера есть доступный базовый массив.
- Определено в:
-
arrayOffsetв классеBuffer - Возвращает:
- Смещение в массиве этого буфера для первого элемента буфера
- Исключения:
-
ReadOnlyBufferException— если этот буфер основан на массиве, но доступен только для чтения -
UnsupportedOperationException— если этот буфер не основан на доступном массиве
position
public final DoubleBuffer position(int newPosition)
limit
public final DoubleBuffer limit(int newLimit)
mark
reset
clear
public final DoubleBuffer clear()
Вызовите этот метод перед использованием последовательности операций чтения из канала или операций put для заполнения этого буфера. Например:
buf.clear(); // Prepare buffer for reading
in.read(buf); // Read data
Этот метод фактически не стирает данные в буфере, но называется так, как если бы стирал их, поскольку чаще всего используется в ситуациях, когда это не имеет значения.
flip
public final DoubleBuffer flip()
После последовательности операций чтения из канала или операций put вызовите этот метод, чтобы подготовить буфер к последовательности операций записи в канал или относительных операций get. Например:
buf.put(magic); // Prepend header
in.read(buf); // Read data into rest of buffer
buf.flip(); // Flip buffer
out.write(buf); // Write header + data to channel
Этот метод часто используется вместе с методом compact при передаче данных из одного места в другое.
rewind
public final DoubleBuffer rewind()
Вызовите этот метод перед последовательностью операций записи в канал или операций get, предполагая, что предел уже установлен надлежащим образом. Например:
out.write(buf); // Write remaining data
buf.rewind(); // Rewind buffer
buf.get(array); // Copy data into array
compact
public abstract DoubleBuffer compact()
Значения типа double между текущей позицией буфера и его пределом, если таковые имеются, копируются в начало буфера. То есть значение типа double с индексом p = position() копируется по индексу ноль, значение типа double с индексом p + 1 копируется по индексу один и так далее, пока значение типа double с индексом limit() - 1 не будет скопировано по индексу n = limit() - 1 - p. Затем позиция буфера устанавливается в n+1, а его предел — в ёмкость. Метка, если она задана, сбрасывается.
Позиция буфера устанавливается равной количеству скопированных значений типа double, а не нулю, поэтому сразу после вызова этого метода можно вызвать другой относительный метод put.
- Возвращает:
- Этот буфер
- Вызывает исключение:
-
ReadOnlyBufferException- если этот буфер доступен только для чтения
isDirect
toString
hashCode
public int hashCode()
Хеш-код буфера double зависит только от оставшихся в нём элементов, то есть от элементов начиная с position() и заканчивая элементом с индексом limit() - 1 включительно.
Поскольку хеш-коды буферов зависят от их содержимого, не рекомендуется использовать буферы в качестве ключей в хеш-таблицах и аналогичных структурах данных, если только известно, что их содержимое не изменится.
equals
public boolean equals(Object ob)
Два буфера double равны тогда и только тогда, когда
они имеют одинаковый тип элементов;
они содержат одинаковое количество оставшихся элементов;
последовательности оставшихся элементов равны попарно независимо от начальных позиций. Этот метод считает два элемента double
aиbравными, если(a == b) || (Double.isNaN(a) && Double.isNaN(b)). Значения-0.0и+0.0считаются равными, в отличие отDouble.equals(Object).
Буфер double не равен объекту любого другого типа.
compareTo
public int compareTo(DoubleBuffer that)
Буферы double сравниваются лексикографически по последовательностям оставшихся элементов, независимо от начальной позиции каждой последовательности в соответствующем буфере. Пары элементов double сравниваются так, как если бы был вызван метод Double.compare(double,double), за исключением того, что -0.0 и 0.0 считаются равными. Этот метод считает Double.NaN равным самому себе и большим любого другого значения double (включая Double.POSITIVE_INFINITY).
Буфер double нельзя сравнить с объектом любого другого типа.
- Указано в:
-
compareToв интерфейсеComparable<DoubleBuffer> - Параметры:
-
that- объект для сравнения. - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, если этот буфер меньше, равен или больше заданного буфера соответственно
mismatch
public int mismatch(DoubleBuffer that)
position каждого буфера и находится в диапазоне от 0 (включительно) до меньшего из количеств элементов, возвращаемых методом remaining для каждого буфера (не включительно). Если у двух буферов есть общий префикс, возвращаемый индекс равен длине общего префикса, а значит, по этому индексу в соответствующих буферах имеется несовпадение. Если один буфер является собственным префиксом другого, возвращаемый индекс равен меньшему из количеств оставшихся элементов в каждом буфере, а значит, этот индекс действителен только для буфера с большим количеством оставшихся элементов. В противном случае несовпадений нет.
- Параметры:
-
that- буфер byte для проверки на несовпадение с этим буфером - Возвращает:
- Относительный индекс первого несовпадения между этим и заданным буферами либо -1, если несовпадений нет.
- Начиная с версии:
- 11
order
public abstract ByteOrder order()
Порядок байтов буфера double, созданного выделением памяти или обёртыванием существующего массива double, соответствует native order используемого оборудования. Порядок байтов буфера double, созданного как представление буфера byte, совпадает с порядком байтов буфера byte на момент создания представления.
- Возвращает:
- Порядок байтов этого буфера
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/DoubleBuffer.html