Package Summary  Overview Summary

class:OptionalDouble [NONE]


public final class OptionalDoubleextends Object
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.

API Note:
OptionalDouble is primarily intended for use as a method return type where there is a clear need to represent "no result." A variable whose type is OptionalDouble should never itself be null; it should always point to an OptionalDouble instance.
Since:
1.8

method:empty() [NONE]

  • 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 by OptionalDouble.empty(). There is no guarantee that it is a singleton. Instead, use isEmpty() or isPresent().
    Returns:
    an empty OptionalDouble.
  • method:of(double) [NONE]

    of

    public static  OptionalDouble of (double value)
    Returns an OptionalDouble describing the given value.
    Parameters:
    value - the value to describe
    Returns:
    an OptionalDouble with the value present

    method:getAsDouble() [NONE]

    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:
    the value described by this OptionalDouble
    Throws:
    NoSuchElementException - if no value is present

    method:isPresent() [NONE]

    isPresent

    public boolean isPresent()
    If a value is present, returns true, otherwise false.
    Returns:
    true if a value is present, otherwise false

    method:isEmpty() [NONE]

    isEmpty

    public boolean isEmpty()
    If a value is not present, returns true, otherwise false.
    Returns:
    true if a value is not present, otherwise false
    Since:
    11

    method:ifPresent(java.util.function.DoubleConsumer) [NONE]

    ifPresent

    public void ifPresent (DoubleConsumer action)
    If a value is present, performs the given action with the value, otherwise does nothing.
    Parameters:
    action - the action to be performed, if a value is present
    Throws:
    NullPointerException - if value is present and the given action is null

    method:ifPresentOrElse(java.util.function.DoubleConsumer,java.lang.Runnable) [NONE]

    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 - the action to be performed, if a value is present
    emptyAction - 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 is null.
    Since:
    9

    method:stream() [NONE]

    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 Stream of optional doubles to a DoubleStream of present doubles:
    
         Stream<OptionalDouble> os = ..
         DoubleStream s = os.flatMapToDouble(OptionalDouble::stream)
     
    
    Returns:
    the optional value as a DoubleStream
    Since:
    9

    method:orElse(double) [NONE]

    orElse

    public double orElse (double other)
    If a value is present, returns the value, otherwise returns other.
    Parameters:
    other - the value to be returned, if no value is present
    Returns:
    the value, if present, otherwise other

    method:orElseGet(java.util.function.DoubleSupplier) [NONE]

    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 - the supplying function that produces a value to be returned
    Returns:
    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

    method:orElseThrow() [NONE]

    orElseThrow

    public double orElseThrow()
    If a value is present, returns the value, otherwise throws NoSuchElementException.
    Returns:
    the value described by this OptionalDouble
    Throws:
    NoSuchElementException - if no value is present
    Since:
    10

    method:orElseThrow(java.util.function.Supplier) [NONE]

    orElseThrow

    public <X extends Throwable>  double orElseThrow (Supplier<? extends X> exceptionSupplier) throws X
    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
    Type Parameters:
    X - Type of the exception to be thrown
    Parameters:
    exceptionSupplier - the supplying function that produces an exception to be thrown
    Returns:
    the value, if present
    Throws:
    X - if no value is present
    NullPointerException - if no value is present and the exception supplying function is null

    method:equals(java.lang.Object) [NONE]

    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 OptionalDouble and;
    • both instances have no value present or;
    • the present values are "equal to" each other via Double.compare() == 0 .
    Overrides:
    equals in class Object
    Parameters:
    obj - an object to be tested for equality
    Returns:
    true if the other object is "equal to" this object otherwise false
    See Also:

    method:hashCode() [NONE]

    hashCode

    public int hashCode()
    Returns the hash code of the value, if present, otherwise 0 (zero) if no value is present.
    Overrides:
    hashCode in class Object
    Returns:
    hash code value of the present value or 0 if no value is present
    See Also:

    method:toString() [NONE]

    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.
    Overrides:
    toString in class Object
    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:
    the string representation of this instance

    © 2023 Oracle Corporation and/or its affiliates