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> 作为返回值类型

最大的作用就是防止空指针异常

ae8aa0885adb9552ffb7510c06bcb076c5bcc547