概念

Optional类是Java8引入的新特性。Optional类主要解决的空指针异常问题(NullPointerException)。这个异常是广泛导致程序运行失败的原因。
Optional是一个容器,它可以保存类型为T的值。如果值存在,则调用isPresent()返回true。反之返回false
Optional被精心设计以配合Java8的函数式编程。


使用

简单示例:

public class Test2 {
    public static void main(String[] args) {
        String[] list = {"a","b","c","d"};
        Optional<String> max = Arrays.stream(list).max(String::compareTo);

        max.ifPresent(System.out::println);
    }
}
输出:
d

常用方法:
Optinal方法

  • of(T) 快速初始化Optional对象
  • ofNullable(T) 初始化Optional对象可能为空
  • empty() 等同于ofNullable(null)
  • orElse(T) 如果Optional对象保存的值不是null,就返回原来的值,否则返回orElse传入的值,注意没有改变Optional对象中保存的值。
  • orElseThrow() java10引入,Optional值不存在就抛出异常
  • isEmpty() java11引入,与isPresent相反。
最后修改:2020 年 12 月 10 日
如果觉得我的文章对你有用,请随意赞赏