Optional类
-
Optional<T>是一个容器类
-
代表一个值存在或不存在
-
致力于解决空指针异常问题(NPE)
-
可以快速锁定发生NPE的位置
-
(这东西真的好用吗?)
常用方法
-
Optional.of(T t)
-
创建一个Optional实例
-
不能传入空指针,会报NPE
-
使用Optional,报空指针了,说明就是这里的问题?
-
-
get()
-
获取容器中的值
-
容器为空会报NPE
-
-
Optional.empty()
- 创建了一个空的Optional实例
-
Optional.ofNullable(T t)
-
创建一个Optional实例
-
如果传入null
-
创建一个空的实例
-
-
isPresent()
- 判断是否包含值
-
orElse(T t)
-
不为空,则返回值
-
为空,则返回指定的值
-
-
orElseGet(Supplier s)
-
不为空,则返回值
-
为空,则返回s获取的值
-
-
map(Function f)
-
不为空,对其处理,返回处理后的Optional
-
为空,返回空Optional
-
-
flatMap(Function f)
-
同上
-
但是要求f的返回值是Optional
-