public final class OptionalLong extends Object
long值的容器对象。
如果值存在, isPresent()将返回true和getAsLong()将返回值。
提供依赖于存在或不存在包含值的其他方法,例如orElse() (如果值不存在则返回默认值)和ifPresent() (如果值存在则执行代码块)。
这是一个value-based课; 使用身份敏感的操作(包括引用相等(的==上的实例),标识哈希码,或同步) OptionalLong可具有不可预测的结果,应当避免。
| Modifier and Type | Method and Description |
|---|---|
static OptionalLong |
empty()
返回一个空的
OptionalLong实例。
|
boolean |
equals(Object obj)
指示一些其他对象是否等于此OptionalLong。
|
long |
getAsLong()
如果
OptionalLong中存在值,则返回值,否则抛出
NoSuchElementException 。
|
int |
hashCode()
返回当前值的哈希码值(如果有的话),如果没有值,则返回0(零)。
|
void |
ifPresent(LongConsumer consumer)
让指定的消费者接受该值,如果一个值存在,否则什么也不做。
|
boolean |
isPresent()
如果存在值,则返回
true ,否则为
false 。
|
static OptionalLong |
of(long value)
返回一个
OptionalLong具有指定值存在。
|
long |
orElse(long other)
返回值如果存在,否则返回
other 。
|
long |
orElseGet(LongSupplier other)
返回值(如果存在),否则调用
other并返回该调用的结果。
|
<X extends Throwable> |
orElseThrow(Supplier<X> exceptionSupplier)
返回包含的值(如果存在),否则抛出由提供的供应商创建的异常。
|
String |
toString()
返回对象的字符串表示形式。
|
public static OptionalLong empty()
OptionalLong实例。
此OptionalLong不存在值。
Option.empty()与==进行比较,那么避免测试对象是否为空。
不能保证是单身人士。
相反,请使用isPresent() 。
OptionalLong 。
public static OptionalLong of(long value)
OptionalLong具有指定值存在。
value - 要存在的值
OptionalLong值存在
public long getAsLong()
OptionalLong中存在值,则返回值,否则抛出
NoSuchElementException 。
OptionalLong持有的价值
NoSuchElementException - 如果没有值存在
isPresent()
public boolean isPresent()
true ,否则为
false 。
true如果存在值,否则为
false
public void ifPresent(LongConsumer consumer)
consumer - 如果存在值,则执行块
NullPointerException - 如果值存在且
consumer为空
public long orElse(long other)
other 。
other - 如果没有值存在,返回的值
other
public long orElseGet(LongSupplier other)
other并返回该调用的结果。
other - 一个
LongSupplier ,如果没有值,则返回其结果
other.getAsLong()
NullPointerException - 如果值不存在,并且
other为空
public <X extends Throwable> long orElseThrow(Supplier<X> exceptionSupplier) throws X extends Throwable
IllegalStateException::new
X - 要抛出的异常的类型
exceptionSupplier - 将返回被抛出的异常的供应商
X - 如果没有值存在
NullPointerException - 如果没有值,
exceptionSupplier为null
X extends Throwable
public boolean equals(Object obj)
OptionalLong和; == “相等”。 equals在类别
Object
obj - 要进行相等测试的对象
false
Object.hashCode() , HashMap
public int hashCode()
hashCode在
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public String toString()
toString方法返回一个字符串“textually代表”这个对象。
结果应该是一个简明扼要的表达,容易让人阅读。
建议所有子类覆盖此方法。
该toString类方法Object返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串@ ”和对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:
返回适用于调试的此对象的非空字符串表示形式。 准确的表示格式是未指定的,可能会在实现和版本之间变化。getClass().getName() + '@' + Integer.toHexString(hashCode())
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.