Java optional类学习
学习好Java编程语言,应该需要能够处理好null指针的异常。
示例computer.getSoundCard().getUSB().getVersion()
,如果在前端出现返回null
取值后,后续的get操作会产生异常。
为了避免这种异常,Java SE 8提供了java.util.Optional
类。
Optional用户把原对象 T 使用Optinal包装,包装后,Optional还提供了一组Stream
处理函数,用户后续的处理。
Optional
常用的流处理函数:
- Empty()
创建一个空的Optional
对象
- of(T)
创建一个Optional<T>
对象
- ofNullable(T)
创建一个Optinal<T>
对象,和of()
的不同处在于T
可以为空
- ifPresent(f)
判断对象,如果为真,则执行f函数
- orElse(T)
获取对象,如果对象为null
,这返回T
对象
- orElseThrow(e)
获取对象,如果对象为null
,则抛出异常e
- filter
, map
, flatMap
用于过滤,获取属性等
参考: Tired of Null Pointer Exceptions? Consider Using Java SE 8’s Optional!