Optional类
容器类
—> 但是只能装一个value
—> 因此更多是检验一个元素是否存在于容器之中
由于null经常引起代码的出错,导致崩溃
所以java特意定义一个容器类以减少空指针报错,明确表示一个值的缺失
于是我们访问数据的时候不用每次特意去判断是否为null
而是通过一系列优雅的方法来访问值或者给定默认值。
1.创建方法 Optional.of()
和Stream一样有of方法创建Optional容器类
2.访问数据
| 直接 get() | 为判断null,容易报错 |
|---|---|
| IfPresent(lambda) | 会自动判断null,非null则执行逻辑 |
| orElse() | 有则返回val, 否则 立即返回默认值 |
| orElseGet(lambda [supplier]) | 有则返回val,否则 执行lambda |
| OrElseThrow() | 有则返回,否则抛出异常 |
3.使用场景
如果调用一个函数, 但是不确定是否有返回值
我们就可以用 Optional<T> 作为返回值类型
最大的作用就是防止空指针异常