public final class OptionalDouble extends Object
double value.
If a value is present, isPresent() will return true and
getAsDouble() will return the value.
Additional methods that depend on the presence or absence of a contained
value are provided, such as orElse()
(return a default value if value not present) and
ifPresent() (execute a block
of code if the value is present).
This is a value-based
class; use of identity-sensitive operations (including reference equality
(==), identity hash code, or synchronization) on instances of
OptionalDouble may have unpredictable results and should be avoided.
| Modifier and Type | Method and Description |
|---|---|
static OptionalDouble |
empty()
Returns an empty
OptionalDouble instance. |
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this OptionalDouble.
|
double |
getAsDouble()
If a value is present in this
OptionalDouble, returns the value,
otherwise throws NoSuchElementException. |
int |
hashCode()
Returns the hash code value of the present value, if any, or 0 (zero) if
no value is present.
|
void |
ifPresent(DoubleConsumer consumer)
Have the specified consumer accept the value if a value is present,
otherwise do nothing.
|
boolean |
isPresent()
Return
true if there is a value present, otherwise false. |
static OptionalDouble |
of(double value)
Return an
OptionalDouble with the specified value present. |
double |
orElse(double other)
Return the value if present, otherwise return
other. |
double |
orElseGet(DoubleSupplier other)
Return the value if present, otherwise invoke
other and return
the result of that invocation. |
<X extends Throwable> |
orElseThrow(Supplier<X> exceptionSupplier)
Return the contained value, if present, otherwise throw an exception
to be created by the provided supplier.
|
String |
toString()
Answers a string containing a concise, human-readable
description of the receiver.
|
public static OptionalDouble empty()
OptionalDouble instance. No value is present for this
OptionalDouble.== against instances returned by
Option.empty(). There is no guarantee that it is a singleton.
Instead, use isPresent().OptionalDouble.public static OptionalDouble of(double value)
OptionalDouble with the specified value present.value - the value to be presentOptionalDouble with the value presentpublic double getAsDouble()
OptionalDouble, returns the value,
otherwise throws NoSuchElementException.OptionalDoubleNoSuchElementException - if there is no value presentisPresent()public boolean isPresent()
true if there is a value present, otherwise false.true if there is a value present, otherwise falsepublic void ifPresent(DoubleConsumer consumer)
consumer - block to be executed if a value is presentNullPointerException - if value is present and consumer is
nullpublic double orElse(double other)
other.other - the value to be returned if there is no value presentotherpublic double orElseGet(DoubleSupplier other)
other and return
the result of that invocation.other - a DoubleSupplier whose result is returned if no value
is presentother.getAsDouble()NullPointerException - if value is not present and other is
nullpublic <X extends Throwable> double orElseThrow(Supplier<X> exceptionSupplier) throws X extends Throwable
IllegalStateException::newX - Type of the exception to be thrownexceptionSupplier - The supplier which will return the exception to
be thrownX - if there is no value presentNullPointerException - if no value is present and
exceptionSupplier is nullX extends Throwablepublic boolean equals(Object obj)
OptionalDouble and;
Double.compare() == 0.
equals in class Objectobj - an object to be tested for equalityfalseObject.hashCode()public int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object)public String toString()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
DRAFT internal-b00