OptionalInt
  public
  
  final
  
  class
  OptionalInt
  
    extends Object
  
  
  
  
  
  
| 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.
Summary
Public methods | |
|---|---|
        
        
        static
        
        
        OptionalInt
     | 
  
    
      
      empty()
      
      
        Returns an empty   | 
  
        
        
        
        
        
        boolean
     | 
  
    
      
      equals(Object obj)
      
      
        Indicates whether some other object is "equal to" this
   | 
  
        
        
        
        
        
        int
     | 
  
    
      
      getAsInt()
      
      
        If a value is present, returns the value, otherwise throws
   | 
  
        
        
        
        
        
        int
     | 
  
    
      
      hashCode()
      
      
        Returns the hash code of the value, if present, otherwise   | 
  
        
        
        
        
        
        void
     | 
  
    
      
      ifPresent(IntConsumer action)
      
      
        If a value is present, performs the given action with the value, otherwise does nothing.  | 
  
        
        
        
        
        
        void
     | 
  
    
      
      ifPresentOrElse(IntConsumer 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
        
        
        OptionalInt
     | 
  
    
      
      of(int value)
      
      
        Returns an   | 
  
        
        
        
        
        
        int
     | 
  
    
      
      orElse(int other)
      
      
        If a value is present, returns the value, otherwise returns
   | 
  
        
        
        
        
        
        int
     | 
  
    
      
      orElseGet(IntSupplier supplier)
      
      
        If a value is present, returns the value, otherwise returns the result produced by the supplying function.  | 
  
        
        
        
        
        <X extends Throwable>
        int
     | 
  
    
      
      orElseThrow(Supplier<? extends X> exceptionSupplier)
      
      
        If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function.  | 
  
        
        
        
        
        
        int
     | 
  
    
      
      orElseThrow()
      
      
        If a value is present, returns the value, otherwise throws
   | 
  
        
        
        
        
        
        IntStream
     | 
  
    
      
      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 OptionalInt empty ()
Returns an empty OptionalInt instance.  No value is present for
 this OptionalInt.
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 | |
|---|---|
OptionalInt | 
        an empty OptionalInt | 
      
equals
public boolean equals (Object obj)
Indicates whether some other object is "equal to" this
 OptionalInt.  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 
==. 
| Parameters | |
|---|---|
obj | 
        
          Object: an object to be tested for equality | 
      
| Returns | |
|---|---|
boolean | 
        true if the other object is "equal to" this object
         otherwise false | 
      
getAsInt
public int getAsInt ()
If a value is present, returns the value, otherwise throws
 NoSuchElementException.
API Note:
- The preferred alternative to this method is 
orElseThrow(). 
| Returns | |
|---|---|
int | 
        the value described by this OptionalInt | 
      
| 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 0 if no value is
         present | 
      
ifPresent
public void ifPresent (IntConsumer action)
If a value is present, performs the given action with the value, otherwise does nothing.
| Parameters | |
|---|---|
action | 
        
          IntConsumer: 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 (IntConsumer action, Runnable emptyAction)
If a value is present, performs the given action with the value, otherwise performs the given empty-based action.
| Parameters | |
|---|---|
action | 
        
          IntConsumer: 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 is null. | 
        
isEmpty
public boolean isEmpty ()
If a value is not present, returns true, otherwise
 false.
| Returns | |
|---|---|
boolean | 
        true if a value is not present, otherwise false | 
      
isPresent
public boolean isPresent ()
If a value is present, returns true, otherwise false.
| Returns | |
|---|---|
boolean | 
        true if a value is present, otherwise false | 
      
of
public static OptionalInt of (int value)
Returns an OptionalInt describing the given value.
| Parameters | |
|---|---|
value | 
        
          int: the value to describe | 
      
| Returns | |
|---|---|
OptionalInt | 
        an OptionalInt with the value present | 
      
orElse
public int orElse (int other)
If a value is present, returns the value, otherwise returns
 other.
| Parameters | |
|---|---|
other | 
        
          int: the value to be returned, if no value is present | 
      
| Returns | |
|---|---|
int | 
        the value, if present, otherwise other | 
      
orElseGet
public int orElseGet (IntSupplier supplier)
If a value is present, returns the value, otherwise returns the result produced by the supplying function.
| Parameters | |
|---|---|
supplier | 
        
          IntSupplier: the supplying function that produces a value to be returned | 
      
| Returns | |
|---|---|
int | 
        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 int 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 | |
|---|---|
int | 
        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 int orElseThrow ()
If a value is present, returns the value, otherwise throws
 NoSuchElementException.
| Returns | |
|---|---|
int | 
        the value described by this OptionalInt | 
      
| Throws | |
|---|---|
NoSuchElementException | 
          if no value is present | 
stream
public IntStream stream ()
If a value is present, returns a sequential IntStream containing
 only that value, otherwise returns an empty IntStream.
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 | |
|---|---|
IntStream | 
        the optional value as an IntStream | 
      
toString
public String toString ()
Returns a non-empty string representation of this OptionalInt
 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 
OptionalInts must be unambiguously differentiable. 
| Returns | |
|---|---|
String | 
        the string representation of this instance |