java.lang.Object
java.util.OptionalLong
A container object which may or may not contain a 
long 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:
 OptionalLongis primarily intended for use as a method return type where there is a clear need to represent "no result." A variable whose type isOptionalLongshould never itself benull; it should always point to anOptionalLonginstance.- Since:
 - 1.8
 
- 
Method Summary
Modifier and TypeMethodDescriptionstatic OptionalLongempty()Returns an emptyOptionalLonginstance.booleanIndicates whether some other object is "equal to" thisOptionalLong.longIf a value is present, returns the value, otherwise throwsNoSuchElementException.inthashCode()Returns the hash code of the value, if present, otherwise0(zero) if no value is present.voidifPresent(LongConsumer action) If a value is present, performs the given action with the value, otherwise does nothing.voidifPresentOrElse(LongConsumer action, Runnable emptyAction) If a value is present, performs the given action with the value, otherwise performs the given empty-based action.booleanisEmpty()If a value is not present, returnstrue, otherwisefalse.booleanIf a value is present, returnstrue, otherwisefalse.static OptionalLongof(long value) Returns anOptionalLongdescribing the given value.longorElse(long other) If a value is present, returns the value, otherwise returnsother.longorElseGet(LongSupplier supplier) If a value is present, returns the value, otherwise returns the result produced by the supplying function.longIf a value is present, returns the value, otherwise throwsNoSuchElementException.<X extends Throwable>
longorElseThrow(Supplier<? extends X> exceptionSupplier) If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function.stream()If a value is present, returns a sequentialLongStreamcontaining only that value, otherwise returns an emptyLongStream.toString()Returns a non-empty string representation of thisOptionalLongsuitable for debugging. 
- 
Method Details
- 
empty
Returns an emptyOptionalLonginstance. No value is present for thisOptionalLong.- API Note:
 - Though it may be tempting to do so, avoid testing if an object is empty
 by comparing with 
==or!=against instances returned byOptionalLong.empty(). There is no guarantee that it is a singleton. Instead, useisEmpty()orisPresent(). - Returns:
 - an empty 
OptionalLong. 
 - 
of
Returns anOptionalLongdescribing the given value.- Parameters:
 value- the value to describe- Returns:
 - an 
OptionalLongwith the value present 
 - 
getAsLong
public long getAsLong()If a value is present, returns the value, otherwise throwsNoSuchElementException.- API Note:
 - The preferred alternative to this method is 
orElseThrow(). - Returns:
 - the value described by this 
OptionalLong - Throws:
 NoSuchElementException- if no value is present
 - 
isPresent
public boolean isPresent()If a value is present, returnstrue, otherwisefalse.- Returns:
 trueif a value is present, otherwisefalse
 - 
isEmpty
public boolean isEmpty()If a value is not present, returnstrue, otherwisefalse.- Returns:
 trueif a value is not present, otherwisefalse- Since:
 - 11
 
 - 
ifPresent
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 isnull
 - 
ifPresentOrElse
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 presentemptyAction- the empty-based action to be performed, if no value is present- Throws:
 NullPointerException- if a value is present and the given action isnull, or no value is present and the given empty-based action isnull.- Since:
 - 9
 
 - 
stream
If a value is present, returns a sequentialLongStreamcontaining only that value, otherwise returns an emptyLongStream.- API Note:
 - This method can be used to transform a 
Streamof optional longs to anLongStreamof present longs:Stream<OptionalLong> os = .. LongStream s = os.flatMapToLong(OptionalLong::stream) - Returns:
 - the optional value as an 
LongStream - Since:
 - 9
 
 - 
orElse
public long orElse(long other) If a value is present, returns the value, otherwise returnsother.- Parameters:
 other- the value to be returned, if no value is present- Returns:
 - the value, if present, otherwise 
other 
 - 
orElseGet
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 isnull
 - 
orElseThrow
public long orElseThrow()If a value is present, returns the value, otherwise throwsNoSuchElementException.- Returns:
 - the value described by this 
OptionalLong - Throws:
 NoSuchElementException- if no value is present- Since:
 - 10
 
 - 
orElseThrow
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 presentNullPointerException- if no value is present and the exception supplying function isnull
 - 
equals
Indicates whether some other object is "equal to" thisOptionalLong. The other object is considered equal if:- it is also an 
OptionalLongand; - both instances have no value present or;
 - the present values are "equal to" each other via 
==. 
 - it is also an 
 - 
hashCode
public int hashCode()Returns the hash code of the value, if present, otherwise0(zero) if no value is present. - 
toString
Returns a non-empty string representation of thisOptionalLongsuitable for debugging. The exact presentation format is unspecified and may vary between implementations and versions. 
 -