Optional
简介
可以包含或者不包含非null的值的容器对象,如果存在值,isPresent()将返回true并get()返回该值。提供了其他方法,这些方法取决于所包含值的存在或者不存在,例如orElse()(如果不存在值,则返回默认值)和ifPresent()(如果存在值则执行代码块)
1.所有方法
empty()
返回一个空
Optional
实例。
get()
如果此值存在
Optional
,则返回该值,否则抛出NoSuchElementException
。
ifPresent(Consumer<? super T> consumer)
如果存在值,请使用该值调用指定的使用者,否则不执行任何操作。
true
如果存在值,则返回,否则返回false
。
map(Function<? super T,? extends U> mapper)
如果存在值,则将提供的映射函数应用于该值,如果结果为非null,则返回
Optional
描述结果的描述。
of(T value)
返回
Optional
具有指定的当前非空值的。
ofNullable(T value)
返回
Optional
描述指定值的描述,如果不为null,则返回null Optional
。
返回值(如果存在),否则返回
other
。
orElseGet(Supplier<? extends T> other)
返回值(如果存在),否则调用
other
并返回该调用的结果。
orElseThrow(Supplier<? extends X> exceptionSupplier)
返回所包含的值(如果存在),否则抛出异常,由提供的供应商创建。
2.方法实例
(1).项目中我们经常用到对象的判空,使用Optional。
if( Optional.ofNullable(对象名).isPresent()){
//如果对象非空,一系列操作实现代码
}
(2).设置对象某个属性的默认值。
设置默认值为30:
Optional.ofNullable(ParameterController.instance().getSingleValueByLimit("expiredTime", "", "44", "")).orElse("10")