Spec-Zone.ru › OpenJDK 24

Класс OptionalDouble

java.lang.Object
java.util.OptionalDouble
public final class OptionalDouble extends Object
Объект-контейнер, который может или не может содержать значение типа double. Если значение присутствует, метод isPresent() возвращает значение true. Если значение отсутствует, объект считается пустым и метод isPresent() возвращает false.

Предоставляются дополнительные методы, зависящие от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).

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

API Note:
OptionalDouble предназначен в первую очередь для использования в качестве типа возвращаемого значения метода, где явно требуется представить "отсутствие результата". Переменная, тип которой является OptionalDouble, никогда не должна сама по себе быть null; она всегда должна указывать на экземпляр OptionalDouble.
Since:
1.8

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

Модификатор и тип Метод Описание
static OptionalDouble empty()
Возвращает пустой экземпляр OptionalDouble.
boolean equals(Object obj)
Указывает, является ли другой объект "равным" этому объекту OptionalDouble.
double getAsDouble()
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException.
int hashCode()
Возвращает хэш-код значения, если оно присутствует, в противном случае 0 (ноль), если значение отсутствует.
void ifPresent(DoubleConsumer action)
Если значение присутствует, выполняет заданное действие со значением, в противном случае ничего не делает.
void ifPresentOrElse(DoubleConsumer action, Runnable emptyAction)
Если значение присутствует, выполняет заданное действие со значением, иначе выполняет заданное действие для пустого случая.
boolean isEmpty()
Если значение отсутствует, возвращает true, иначе false.
boolean isPresent()
Если значение присутствует, возвращает true, иначе false.
static OptionalDouble of(double value)
Возвращает OptionalDouble, описывающую заданное значение.
double orElse(double other)
Если значение присутствует, возвращает значение, иначе возвращает other.
double orElseGet(DoubleSupplier supplier)
Если значение присутствует, возвращает значение, иначе возвращает результат, полученный от функции.
double orElseThrow()
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException.
<X extends Throwable>
double
orElseThrow(Supplier<? extends X> exceptionSupplier)
Если значение присутствует, возвращает значение, иначе выбрасывает исключение, сгенерированное функцией.
DoubleStream stream()
Если значение присутствует, возвращает последовательный поток DoubleStream, содержащий только это значение, иначе возвращает пустой DoubleStream.
String toString()
Возвращает строковое представление этого OptionalDouble, пригодное для отладки.

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

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

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

empty

public static OptionalDouble empty()
Возвращает пустой экземпляр OptionalDouble. Значение для этого OptionalDouble отсутствует.
Примечание API:
Несмотря на то, что это может показаться заманчивым, избегайте проверки объекта на пустоту путем сравнения с == или != со значениями, возвращаемыми OptionalDouble.empty(). Нет гарантии, что это синглтон. Вместо этого используйте isEmpty() или isPresent().
Возвращает:
пустой OptionalDouble.

of

public static OptionalDouble of(double value)
Возвращает OptionalDouble, описывающий заданное значение.
Параметры:
value - значение для описания
Возвращает:
OptionalDouble со значением присутствующим

getAsDouble

public double getAsDouble()
Если значение присутствует, возвращает значение, в противном случае выбрасывает NoSuchElementException.
Примечание API:
Предпочтительная альтернатива этому методу — orElseThrow().
Возвращает:
значение, описываемое этим OptionalDouble
Выбрасывает:
NoSuchElementException - если значение отсутствует

isPresent

public boolean isPresent()
Если значение присутствует, возвращает true, в противном случае возвращает false.
Возвращает:
true, если значение присутствует, иначе false

isEmpty

public boolean isEmpty()
Если значение отсутствует, возвращает true, в противном случае возвращает false.
Возвращает:
true, если значение отсутствует, иначе false
С:
11

ifPresent

public void ifPresent(DoubleConsumer action)
Если значение присутствует, выполняет заданное действие со значением, в противном случае ничего не делает.
Параметры:
action - действие, которое должно быть выполнено, если значение присутствует
Выбрасывает:
NullPointerException - если значение присутствует и заданное действие является null

ifPresentOrElse

public void ifPresentOrElse(DoubleConsumer action, Runnable emptyAction)
Если значение присутствует, выполняет заданное действие со значением, в противном случае выполняет заданное действие по умолчанию.
Параметры:
action - действие, которое должно быть выполнено, если значение присутствует
emptyAction - действие по умолчанию, которое должно быть выполнено, если значение отсутствует
Выбрасывает:
NullPointerException - если значение присутствует и заданное действие является null, или значение отсутствует и заданное действие по умолчанию является null.
С:
9

stream

public DoubleStream stream()
Если значение присутствует, возвращает последовательный DoubleStream, содержащий только это значение, в противном случае возвращает пустой DoubleStream.
Примечание API:
Этот метод может быть использован для преобразования потока Stream необязательных значений double в поток DoubleStream присутствующих значений double:

     Stream<OptionalDouble> os = ..
     DoubleStream s = os.flatMapToDouble(OptionalDouble::stream)
 
Возвращает:
необязательное значение в виде DoubleStream
С:
9

orElse

public double orElse(double other)
Если значение присутствует, возвращает значение, в противном случае возвращает other.
Параметры:
other - значение, которое должно быть возвращено, если значение отсутствует
Возвращает:
значение, если оно присутствует, иначе other

orElseGet

public double orElseGet(DoubleSupplier supplier)
Если значение присутствует, возвращает значение, в противном случае возвращает результат, полученный от поставщика функции.
Параметры:
supplier - функция-поставщик, которая производит значение, которое должно быть возвращено
Возвращает:
значение, если оно присутствует, иначе результат, произведенный функцией-поставщиком
Выбрасывает:
NullPointerException - если значение отсутствует и функция-поставщик является null

orElseThrow

public double orElseThrow()
Если значение присутствует, возвращает значение, в противном случае выбрасывает NoSuchElementException.
Возвращает:
значение, описываемое этим OptionalDouble
Выбрасывает:
NoSuchElementException - если значение отсутствует
С:
10

orElseThrow

public <X extends Throwable> double orElseThrow(Supplier<? extends X> exceptionSupplier) throws X
Если значение присутствует, возвращает значение, в противном случае выбрасывает исключение, произведенное функцией-поставщиком исключения.
Примечание API:
В качестве поставщика можно использовать ссылку на метод конструктора исключения с пустым списком аргументов. Например, IllegalStateException::new
Параметры типа:
X - Тип исключения, которое должно быть выброшено
Параметры:
exceptionSupplier - функция-поставщик, которая производит исключение, которое должно быть выброшено
Возвращает:
значение, если оно присутствует
Выбрасывает:
X - если значение отсутствует
NullPointerException - если значение отсутствует и функция-поставщик исключения является null

equals

public boolean equals(Object obj)
Указывает, является ли другой объект "равным" этому OptionalDouble. Другой объект считается равным, если:
  • он также является OptionalDouble и;
  • оба экземпляра не содержат значения или;
  • присутствующие значения "равны" друг другу по Double.compare() == 0.
Переопределяет:
equals в классе Object
Параметры:
obj - объект, который необходимо проверить на равенство
Возвращает:
true, если другой объект "равен" этому объекту, иначе false
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код значения, если оно присутствует, иначе 0 (ноль), если значение отсутствует.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода присутствующего значения или 0, если значение отсутствует
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Возвращает строковое представление этого OptionalDouble, подходящее для отладки. Точный формат представления не определен и может отличаться в разных реализациях и версиях.
Переопределяет:
toString в классе Object
Требования к реализации:
Если значение присутствует, результат должен включать его строковое представление. Пустые и присутствующие OptionalDouble должны быть недвусмысленно различимы.
Возвращает:
строковое представление этого экземпляра

© 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/util/OptionalDouble.html

Spec-Zone.ru

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