OptionalDouble
  public
  
  final
  
  class
  OptionalDouble
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | java.util.OptionalDouble | 
A container object which may or may not contain a double value.
 If a value is present, isPresent() returns true. If no
 value is present, the object is considered empty and
 isPresent() returns false.
 
Additional methods that depend on the presence or absence of a contained
 value are provided, such as orElse()
 (returns a default value if no value is present) and
 ifPresent() (performs
 an action if a value is present).
 
This is a value-based class; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail.
Summary
| Public methods | |
|---|---|
| 
        
        
        static
        
        
        OptionalDouble | 
      empty()
      Returns an empty  | 
| 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this
  | 
| 
        
        
        
        
        
        double | 
      getAsDouble()
      If a value is present, returns the value, otherwise throws
  | 
| 
        
        
        
        
        
        int | 
      hashCode()
      Returns the hash code of the value, if present, otherwise  | 
| 
        
        
        
        
        
        void | 
      ifPresent(DoubleConsumer action)
      If a value is present, performs the given action with the value, otherwise does nothing. | 
| 
        
        
        
        
        
        void | 
      ifPresentOrElse(DoubleConsumer action, Runnable emptyAction)
      If a value is present, performs the given action with the value, otherwise performs the given empty-based action. | 
| 
        
        
        
        
        
        boolean | 
      isEmpty()
      If a value is not present, returns  | 
| 
        
        
        
        
        
        boolean | 
      isPresent()
      If a value is present, returns  | 
| 
        
        
        static
        
        
        OptionalDouble | 
      of(double value)
      Returns an  | 
| 
        
        
        
        
        
        double | 
      orElse(double other)
      If a value is present, returns the value, otherwise returns
  | 
| 
        
        
        
        
        
        double | 
      orElseGet(DoubleSupplier supplier)
      If a value is present, returns the value, otherwise returns the result produced by the supplying function. | 
| 
        
        
        
        
        <X extends Throwable>
        double | 
      orElseThrow(Supplier<? extends X> exceptionSupplier)
      If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function. | 
| 
        
        
        
        
        
        double | 
      orElseThrow()
      If a value is present, returns the value, otherwise throws
  | 
| 
        
        
        
        
        
        DoubleStream | 
      stream()
      If a value is present, returns a sequential  | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns a non-empty string representation of this  | 
| Inherited methods | |
|---|---|
Public methods
empty
public static OptionalDouble empty ()
Returns an empty OptionalDouble instance.  No value is present
 for this OptionalDouble.
API Note:
- Though it may be tempting to do so, avoid testing if an object is empty
 by comparing with ==or!=against instances returned byOptionalDouble.empty(). There is no guarantee that it is a singleton. Instead, useisEmpty()orisPresent().
| Returns | |
|---|---|
| OptionalDouble | an empty OptionalDouble. | 
equals
public boolean equals (Object obj)
Indicates whether some other object is "equal to" this
 OptionalDouble. The other object is considered equal if:
 
- it is also an OptionalDoubleand;
- both instances have no value present or;
- the present values are "equal to" each other via
 Double.compare() == 0.
| Parameters | |
|---|---|
| obj | Object: an object to be tested for equality | 
| Returns | |
|---|---|
| boolean | trueif the other object is "equal to" this object
         otherwisefalse | 
getAsDouble
public double getAsDouble ()
If a value is present, returns the value, otherwise throws
 NoSuchElementException.
API Note:
- The preferred alternative to this method is orElseThrow().
| Returns | |
|---|---|
| double | the value described by this OptionalDouble | 
| Throws | |
|---|---|
| NoSuchElementException | if no value is present | 
hashCode
public int hashCode ()
Returns the hash code of the value, if present, otherwise 0
 (zero) if no value is present.
| Returns | |
|---|---|
| int | hash code value of the present value or 0if no value is
         present | 
ifPresent
public void ifPresent (DoubleConsumer action)
If a value is present, performs the given action with the value, otherwise does nothing.
| Parameters | |
|---|---|
| action | DoubleConsumer: the action to be performed, if a value is present | 
| Throws | |
|---|---|
| NullPointerException | if value is present and the given action is null | 
ifPresentOrElse
public void ifPresentOrElse (DoubleConsumer action, Runnable emptyAction)
If a value is present, performs the given action with the value, otherwise performs the given empty-based action.
| Parameters | |
|---|---|
| action | DoubleConsumer: the action to be performed, if a value is present | 
| emptyAction | Runnable: the empty-based action to be performed, if no value is
 present | 
| Throws | |
|---|---|
| NullPointerException | if a value is present and the given action
         is null, or no value is present and the given empty-based
         action isnull. | 
isEmpty
public boolean isEmpty ()
If a value is not present, returns true, otherwise
 false.
| Returns | |
|---|---|
| boolean | trueif a value is not present, otherwisefalse | 
isPresent
public boolean isPresent ()
If a value is present, returns true, otherwise false.
| Returns | |
|---|---|
| boolean | trueif a value is present, otherwisefalse | 
of
public static OptionalDouble of (double value)
Returns an OptionalDouble describing the given value.
| Parameters | |
|---|---|
| value | double: the value to describe | 
| Returns | |
|---|---|
| OptionalDouble | an OptionalDoublewith the value present | 
orElse
public double orElse (double other)
If a value is present, returns the value, otherwise returns
 other.
| Parameters | |
|---|---|
| other | double: the value to be returned, if no value is present | 
| Returns | |
|---|---|
| double | the value, if present, otherwise other | 
orElseGet
public double orElseGet (DoubleSupplier supplier)
If a value is present, returns the value, otherwise returns the result produced by the supplying function.
| Parameters | |
|---|---|
| supplier | DoubleSupplier: the supplying function that produces a value to be returned | 
| Returns | |
|---|---|
| double | the value, if present, otherwise the result produced by the supplying function | 
| Throws | |
|---|---|
| NullPointerException | if no value is present and the supplying
         function is null | 
orElseThrow
public double orElseThrow (Supplier<? extends X> exceptionSupplier)
If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function.
API Note:
- A method reference to the exception constructor with an empty argument
 list can be used as the supplier. For example,
 IllegalStateException::new
| Parameters | |
|---|---|
| exceptionSupplier | Supplier: the supplying function that produces an
        exception to be thrown | 
| Returns | |
|---|---|
| double | the value, if present | 
| Throws | |
|---|---|
|  | if no value is present | 
| NullPointerException | if no value is present and the exception
         supplying function is null | 
| Throwable | |
orElseThrow
public double orElseThrow ()
If a value is present, returns the value, otherwise throws
 NoSuchElementException.
| Returns | |
|---|---|
| double | the value described by this OptionalDouble | 
| Throws | |
|---|---|
| NoSuchElementException | if no value is present | 
stream
public DoubleStream stream ()
If a value is present, returns a sequential DoubleStream
 containing only that value, otherwise returns an empty
 DoubleStream.
API Note:
- This method can be used to transform a Streamof optional doubles to aDoubleStreamof present doubles:Stream<OptionalDouble> os = .. DoubleStream s = os.flatMapToDouble(OptionalDouble::stream)
| Returns | |
|---|---|
| DoubleStream | the optional value as a DoubleStream | 
toString
public String toString ()
Returns a non-empty string representation of this OptionalDouble
 suitable for debugging.  The exact presentation format is unspecified and
 may vary between implementations and versions.
Implementation Requirements:
- If a value is present the result must include its string representation
 in the result.  Empty and present OptionalDoubles must be unambiguously differentiable.
| Returns | |
|---|---|
| String | the string representation of this instance | 
