Класс OptionalDouble
- java.lang.Object
-
- java.util.OptionalDouble
public final class OptionalDouble extends Object
Объект-контейнер, который может или не может содержать значение double. Если значение присутствует, isPresent() вернет true, а getAsDouble() вернет значение.
Предоставляются дополнительные методы, зависящие от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет блок кода, если значение присутствует).
Это класс типа value-based; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), хэш-код идентичности или синхронизацию) на экземплярах OptionalDouble может привести к непредсказуемым результатам и следует избегать.
- Since:
- 1.8
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static OptionalDouble |
empty() Возвращает пустой экземпляр |
boolean |
equals(Object obj) Указывает, является ли какой-либо другой объект "равным" этому OptionalDouble. |
double |
getAsDouble() Если в этом |
int |
hashCode() Возвращает хэш-код присутствующего значения, если оно есть, или 0 (ноль), если значение отсутствует. |
void |
ifPresent(DoubleConsumer consumer) Выполняет указанный потребитель, если значение присутствует, в противном случае ничего не делает. |
boolean |
isPresent() Возвращает |
static OptionalDouble |
of(double value) Возвращает |
double |
orElse(double other) Возвращает значение, если оно присутствует, в противном случае возвращает |
double |
orElseGet(DoubleSupplier other) Возвращает значение, если оно присутствует, в противном случае вызывает |
<X extends Throwable> |
orElseThrow(Supplier<X> exceptionSupplier) Возвращает содержащееся значение, если оно присутствует, в противном случае выбрасывает исключение, созданное предоставленным поставщиком. |
String |
toString() Возвращает строковое представление объекта. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Методы
empty
public static OptionalDouble empty()
Возвращает пустой экземпляр OptionalDouble. Для этого OptionalDouble значение не присутствует.
- API Note:
- Хотя это может быть заманчиво, избегайте проверки, является ли объект пустым, сравнивая с
==с экземплярами, возвращаемымиOption.empty(). Нет гарантии, что это одиночный объект. Вместо этого используйтеisPresent(). - Возвращает:
- пустой
OptionalDouble.
of
public static OptionalDouble of(double value)
Возвращает OptionalDouble с указанным присутствующим значением.
- Параметры:
-
value- значение, которое должно присутствовать - Возвращает:
OptionalDoubleс присутствующим значением
getAsDouble
public double getAsDouble()
Если в этом OptionalDouble, присутствует значение, возвращает значение, в противном случае выбрасывает NoSuchElementException.
- Возвращает:
- значение, содержащееся в этом
OptionalDouble - Выбрасывает:
-
NoSuchElementException- если значение не присутствует - См. также:
isPresent()
isPresent
public boolean isPresent()
Возвращает true, если значение присутствует, в противном случае false.
- Возвращает:
-
trueесли значение присутствует, в противном случаеfalse
ifPresent
public void ifPresent(DoubleConsumer consumer)
Выполняет указанный потребитель, если значение присутствует, в противном случае ничего не делает.
- Параметры:
-
consumer- блок, который будет выполнен, если значение присутствует - Выбрасывает:
-
NullPointerException- если значение присутствует иconsumerравно null
orElse
public double orElse(double other)
Возвращает значение, если оно присутствует, в противном случае возвращает other.
- Параметры:
-
other- значение, которое будет возвращено, если значение не присутствует - Возвращает:
- значение, если присутствует, в противном случае
other
orElseGet
public double orElseGet(DoubleSupplier other)
Возвращает значение, если оно присутствует, в противном случае вызывает other и возвращает результат этого вызова.
- Параметры:
-
other- поставщик, результат которого возвращается, если значение отсутствует - Возвращает:
- значение, если присутствует, в противном случае результат
other.getAsDouble() - Выбрасывает:
-
NullPointerException- если значение не присутствует иotherравно null
orElseThrow
public <X extends Throwable> double orElseThrow(Supplier<X> exceptionSupplier)
throws X extends Throwable
Возвращает содержащееся значение, если оно присутствует, в противном случае выбрасывает исключение, созданное предоставленным поставщиком.
- API Note:
- Ссылка на метод для конструктора исключения с пустым списком аргументов может быть использована в качестве поставщика. Например,
IllegalStateException::new - Параметры типа:
-
X- Тип исключения, которое должно быть выброшено - Параметры:
-
exceptionSupplier- Поставщик, который вернет исключение, которое должно быть выброшено - Возвращает:
- текущее значение
- Выбрасывает:
-
X- если значение не присутствует -
NullPointerException- если значение не присутствует иexceptionSupplierравно null X extends Throwable
equals
public boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому OptionalDouble. Другой объект считается равным, если:
- он также является
OptionalDouble, и; - оба экземпляра не содержат значения или;
- настоящие значения "равны" друг другу с помощью
Double.compare() == 0.
- Overrides:
-
equalsв классеObject - Параметры:
-
obj- объект, который необходимо проверить на равенство - Возвращает:
- {code true} если другой объект равен этому объекту, в противном случае
false - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хэш-код присутствующего значения, если оно есть, или 0 (ноль), если значение отсутствует.
- Overrides:
-
hashCodeв классеObject - Возвращает:
- хэш-код присутствующего значения или 0, если значение отсутствует
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое представление объекта. В общем случае, метод toString возвращает строку, которая "текстово представляет" этот объект. Результат должен быть кратким, но информативным представлением, которое легко читать человеку. Рекомендуется переопределять этот метод для всех подклассов.
Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому относится объект, символа "@" и неозначенного шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:
getClass().getName() + '@' + Integer.toHexString(hashCode())Возвращает непустое строковое представление этого объекта, подходящее для отладки. Точный формат представления не определен и может отличаться между реализациями и версиями.
© 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.