Класс OptionalDouble
- java.lang.Object
-
- java.util.OptionalDouble
public final class OptionalDouble extends Object
Объект-контейнер, который может или не может содержать значение double. Если значение присутствует, isPresent() возвращает true. Если значение отсутствует, объект считается пустым и isPresent() возвращает false.
Предоставляются дополнительные методы, зависящие от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).
Это класс по значению; использование операций, чувствительных к идентификатору (включая сравнение по ссылке (==), хэш-код по идентификатору или синхронизацию) на экземплярах OptionalDouble может привести к непредсказуемым результатам и должно быть избегаемо.
- Примечание API:
-
OptionalDoubleпредназначен в основном для использования в качестве типа возвращаемого значения метода, где явно требуется представление «нет результата». Переменная, тип которойOptionalDouble, никогда не должна сама бытьnull; она всегда должна указывать на экземплярOptionalDouble. - С момента:
- 1.8
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static OptionalDouble | empty() | Возвращает пустой экземпляр |
boolean | equals(Object obj) | Указывает, является ли другой объект "равным" этому |
double | getAsDouble() | Если значение присутствует, возвращает значение, в противном случае выбрасывает |
int | hashCode() | Возвращает хэш-код значения, если оно присутствует, в противном случае |
void | ifPresent(DoubleConsumer action) | Если значение присутствует, выполняет данное действие со значением, в противном случае ничего не делает. |
void | ifPresentOrElse(DoubleConsumer action,
Runnable emptyAction) | Если значение присутствует, выполняет данное действие со значением, в противном случае выполняет данное действие, основанное на отсутствии значения. |
boolean | isEmpty() | Если значение отсутствует, возвращает |
boolean | isPresent() | Если значение присутствует, возвращает |
static OptionalDouble | of(double value) | Возвращает |
double | orElse(double other) | Если значение присутствует, возвращает значение, в противном случае возвращает |
double | orElseGet(DoubleSupplier supplier) | Если значение присутствует, возвращает значение, в противном случае возвращает результат, полученный от предоставленной функции. |
double | orElseThrow() | Если значение присутствует, возвращает значение, в противном случае выбрасывает |
<X extends Throwable> | orElseThrow(Supplier<? extends X> exceptionSupplier) | Если значение присутствует, возвращает значение, в противном случае выбрасывает исключение, произведённое функцией, возвращающей исключение. |
DoubleStream | stream() | Если значение присутствует, возвращает последовательную |
String | toString() | Возвращает строковое представление этого |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
empty
public static OptionalDouble empty()
Возвращает пустой OptionalDouble экземпляр. Значение для этого OptionalDouble отсутствует.
- Примечание API:
- Хотя это может показаться заманчивым, избегайте проверки, является ли объект пустым, сравнивая его с
==с экземплярами, возвращаемымиOptionalDouble.empty(). Нет гарантии, что это одиночный экземпляр. Вместо этого используйте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 extends Throwable Если значение присутствует, возвращает значение, иначе выбрасывает исключение, сгенерированное функцией-поставщиком исключений.
- Примечание API:
- В качестве поставщика можно использовать ссылку на метод конструктора исключения с пустым списком аргументов. Например,
IllegalStateException::new - Параметры типа:
-
X- Тип исключения, которое должно быть выброшено - Параметры:
-
exceptionSupplier- функция-поставщик, которая генерирует исключение для выброса - Возвращает:
- значение, если присутствует
- Выбрасывает:
-
X- если значение отсутствует -
NullPointerException- если значение отсутствует и функция-поставщик исключенийnull X extends Throwable
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, подходящую для отладки. Точный формат представления не определён и может отличаться между реализациями и версиями.
© 1993, 2020, 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/11/docs/api/java.base/java/util/OptionalDouble.html