Class OptionalInt
java.lang.Object
java.util.OptionalInt
A container object which may or may not contain an 
int 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:
- OptionalIntis primarily intended for use as a method return type where there is a clear need to represent "no result." A variable whose type is- OptionalIntshould never itself be- null; it should always point to an- OptionalIntinstance.
- Since:
- 1.8
- 
Method SummaryModifier and TypeMethodDescriptionstatic OptionalIntempty()Returns an emptyOptionalIntinstance.booleanIndicates whether some other object is "equal to" thisOptionalInt.intgetAsInt()If 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(IntConsumer action) If a value is present, performs the given action with the value, otherwise does nothing.voidifPresentOrElse(IntConsumer 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 OptionalIntof(int value) Returns anOptionalIntdescribing the given value.intorElse(int other) If a value is present, returns the value, otherwise returnsother.intorElseGet(IntSupplier supplier) If a value is present, returns the value, otherwise returns the result produced by the supplying function.intIf a value is present, returns the value, otherwise throwsNoSuchElementException.<X extends Throwable>
 intorElseThrow(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 sequentialIntStreamcontaining only that value, otherwise returns an emptyIntStream.toString()Returns a non-empty string representation of thisOptionalIntsuitable for debugging.
- 
Method Details- 
emptyReturns an emptyOptionalIntinstance. No value is present for thisOptionalInt.- API Note:
- Though it may be tempting to do so, avoid testing if an object is empty
 by comparing with ==or!=against instances returned byOptionalInt.empty(). There is no guarantee that it is a singleton. Instead, useisEmpty()orisPresent().
- Returns:
- an empty OptionalInt
 
- 
ofReturns anOptionalIntdescribing the given value.- Parameters:
- value- the value to describe
- Returns:
- an OptionalIntwith the value present
 
- 
getAsIntpublic int getAsInt()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 OptionalInt
- Throws:
- NoSuchElementException- if no value is present
 
- 
isPresentpublic boolean isPresent()If a value is present, returnstrue, otherwisefalse.- Returns:
- trueif a value is present, otherwise- false
 
- 
isEmptypublic boolean isEmpty()If a value is not present, returnstrue, otherwisefalse.- Returns:
- trueif a value is not present, otherwise- false
- Since:
- 11
 
- 
ifPresentIf 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
 
- 
ifPresentOrElseIf 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
 
- 
streamIf a value is present, returns a sequentialIntStreamcontaining only that value, otherwise returns an emptyIntStream.- API Note:
- This method can be used to transform a Streamof optional integers to anIntStreamof present integers:Stream<OptionalInt> os = .. IntStream s = os.flatMapToInt(OptionalInt::stream)
- Returns:
- the optional value as an IntStream
- Since:
- 9
 
- 
orElsepublic int orElse(int 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
 
- 
orElseGetIf 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
 
- 
orElseThrowpublic int orElseThrow()If a value is present, returns the value, otherwise throwsNoSuchElementException.- Returns:
- the value described by this OptionalInt
- Throws:
- NoSuchElementException- if no value is present
- Since:
- 10
 
- 
orElseThrowIf 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
 
- 
equalsIndicates whether some other object is "equal to" thisOptionalInt. The other object is considered equal if:- it is also an OptionalIntand;
- both instances have no value present or;
- the present values are "equal to" each other via ==.
 
- it is also an 
- 
hashCode
- 
toStringReturns a non-empty string representation of thisOptionalIntsuitable for debugging. The exact presentation format is unspecified and may vary between implementations and versions.
 
-