- java.lang.Object
 -  
      
- java.util.OptionalInt
 
 
-  
       
public final class OptionalInt extends Object
容器对象,可能包含也可能不包含int值。 如果存在值,则isPresent()将返回true。 如果不存在任何值,则该对象被视为空 ,isPresent()返回false。提供了依赖于是否存在包含值的其他方法,例如
orElse()(如果不存在值则返回默认值)和ifPresent()(如果存在值则执行操作)。这是一个value-based班; 在
OptionalInt实例上使用身份敏感操作(包括引用相等(==),标识哈希码或同步)可能会产生不可预测的结果,应该避免使用。- API Note:
 -  
         
OptionalInt主要用作方法返回类型,明确需要表示“无结果”。 类型为OptionalInt变量本身不应该是null; 它应始终指向OptionalInt实例。 - 从以下版本开始:
 - 1.8
 
 
-  
        
       
-  
             
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 static OptionalIntempty()返回一个空的OptionalInt实例。booleanequals(Object obj)指示某个其他对象是否“等于”此OptionalInt。intgetAsInt()如果存在值,则返回该值,否则抛出NoSuchElementException。inthashCode()返回值的哈希码(如果存在),否则0(零)(如果不存在值)。voidifPresent(IntConsumer action)如果存在值,则使用值执行给定操作,否则不执行任何操作。voidifPresentOrElse(IntConsumer action, Runnable emptyAction)如果存在值,则使用值执行给定操作,否则执行给定的基于空的操作。booleanisEmpty()如果值不存在,则返回true,否则返回false。booleanisPresent()如果存在值,则返回true,否则返回false。static OptionalIntof(int value)返回描述给定值的OptionalInt。intorElse(int other)如果存在值,则返回该值,否则返回other。intorElseGet(IntSupplier supplier)如果存在值,则返回该值,否则返回由供应函数生成的结果。intorElseThrow()如果存在值,则返回该值,否则抛出NoSuchElementException。<X extends Throwable>
intorElseThrow(Supplier<? extends X> exceptionSupplier)如果存在值,则返回该值,否则抛出异常提供函数生成的异常。IntStreamstream()如果存在值,则返回仅包含该值的顺序IntStream,否则返回空IntStream。StringtoString()返回适合调试的OptionalInt的非空字符串表示形式。 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
empty
public static OptionalInt empty()
返回一个空的OptionalInt实例。 此OptionalInt没有值。- API Note:
 -  
              虽然它可能是很有诱惑力的话,避免测试如果一个对象是通过比较空
==对抗返回实例OptionalInt.empty()。 无法保证它是单身人士。 相反,请使用isPresent()。 - 结果
 - 
               空 
              
OptionalInt 
 
-  
of
public static OptionalInt of(int value)
返回描述给定值的OptionalInt。- 参数
 -  
              
value- 要描述的值 - 结果
 - 
               值 
              
OptionalInt 
 
-  
getAsInt
public int getAsInt()
如果存在值,则返回该值,否则抛出NoSuchElementException。- API Note:
 - 
               该方法的优选替代方案是 
              
orElseThrow()。 - 结果
 - 
               此 
              
OptionalInt描述的值 - 异常
 -  
              
NoSuchElementException- 如果没有值 
 
-  
isPresent
public boolean isPresent()
如果存在值,则返回true,否则返回false。- 结果
 -  
              
true如果存在值,否则为false 
 
-  
isEmpty
public boolean isEmpty()
如果值不存在,则返回true,否则返回false。- 结果
 -  
              
true如果值不存在,否则为false - 从以下版本开始:
 - 11
 
 
-  
ifPresent
public void ifPresent(IntConsumer action)
如果存在值,则使用值执行给定操作,否则不执行任何操作。- 参数
 -  
              
action- 如果存在值,则执行的操作 - 异常
 -  
              
NullPointerException- 如果存在值且给定操作为null 
 
-  
ifPresentOrElse
public void ifPresentOrElse(IntConsumer action, Runnable emptyAction)
如果存在值,则使用值执行给定操作,否则执行给定的基于空的操作。- 参数
 -  
              
action- 如果存在值,则执行的操作 -  
              
emptyAction- 如果没有值,则执行基于空的操作 - 异常
 -  
              
NullPointerException- 如果存在值且给定操作为null,或者不存在任何值且给定的基于空的操作为null。 - 从以下版本开始:
 - 9
 
 
-  
stream
public IntStream stream()
如果存在值,则返回仅包含该值的顺序IntStream,否则返回空IntStream。- API Note:
 -  
              此方法可用于将
Stream的可选整数IntStream为当前整数的IntStream:Stream<OptionalInt> os = .. IntStream s = os.flatMapToInt(OptionalInt::stream) - 结果
 - 
               可选值为 
              
IntStream - 从以下版本开始:
 - 9
 
 
-  
orElse
public int orElse(int other)
如果存在值,则返回该值,否则返回other。- 参数
 -  
              
other- 如果没有值,则返回值 - 结果
 - 
               值,如果存在,否则 
              
other 
 
-  
orElseGet
public int orElseGet(IntSupplier supplier)
如果存在值,则返回该值,否则返回由供应函数生成的结果。- 参数
 -  
              
supplier- 生成要返回的值的供应函数 - 结果
 - 值,如果存在,否则由供应函数产生的结果
 - 异常
 -  
              
NullPointerException- 如果没有值且供应功能为null 
 
-  
orElseThrow
public int orElseThrow()
如果存在值,则返回该值,否则抛出NoSuchElementException。- 结果
 - 
               此 
              
OptionalInt描述的值 - 异常
 -  
              
NoSuchElementException- 如果没有值 - 从以下版本开始:
 - 10
 
 
-  
orElseThrow
public <X extends Throwable> int orElseThrow(Supplier<? extends X> exceptionSupplier) throws X extends Throwable
如果存在值,则返回该值,否则抛出异常提供函数生成的异常。- API Note:
 -  
              具有空参数列表的异常构造函数的方法引用可用作供应商。 
              例如, 
IllegalStateException::new - 参数类型
 -  
              
X- 要抛出的异常的类型 - 参数
 -  
              
exceptionSupplier- 生成要抛出的异常的提供函数 - 结果
 - 价值,如果存在
 - 异常
 -  
              
X- 如果没有值 -  
              
NullPointerException- 如果没有值,则异常提供功能为null -  
              
X extends Throwable 
 
-  
equals
public boolean equals(Object obj)
指示某个其他对象是否“等于”此OptionalInt。 如果符合以下条件,则认为另一个对-  它也是
OptionalInt和; - 两个实例都没有价值或;
 -  现值通过
==相互“等于”。 
- 重写:
 -  
              
equals在类Object - 参数
 -  
              
obj- 要测试相等性的对象 - 结果
 -  
              
true如果其他对象“等于”此对象,否则为false - 另请参见:
 -  
              
Object.hashCode(),HashMap 
 -  它也是
 
-  
hashCode
public int hashCode()
返回值的哈希码(如果存在),否则0(零)(如果不存在值)。- 重写:
 -  
              
hashCode在类Object - 结果
 - 
               如果没有值,则为当前值的哈希码值或 
              
0 - 另请参见:
 -  
              
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object) 
 
 -  
 
 -