欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Optional干掉空指针

程序员文章站 2022-06-07 17:57:29
...

简介

  • 空指针异常是导致Java应用程序失败的最常见原因。
  • 为了解决空指针异常更加优雅,Java8 提供了 Optional 类库。
  • Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。
  • Optional提供很多有用的方法,这样我们就不用显式进行空值检测。

代码示例

1、Optional.of()或者Optional.ofNullable():创建Optional对象,差别在于of不允许参数是null,而ofNullable则无限制。

// 参数不能是null
Optional optional1 = Optional.of(1);
// 参数可以是null
Optional optional2 = Optional.ofNullable(null);
// 参数可以是非null
Optional optional3 = Optional.ofNullable(2);

2、Optional.empty():所有null包装成的Optional对象

Optional optional1 = Optional.ofNullable(null);
Optional optional2 = Optional.ofNullable(null);

System.out.println(optional1 == optional2);// true
System.out.println(optional1 == Optional.empty());// true

Object o1 = Optional.empty(