Java_Optional 类

一、Optional

到目前为止,臭名昭著的空指针异常是导致 Java 应用程序失败的最常见原因。以前,为了解决空指针异常,Google 在著名的 Guava 项目引入了 Optional类,通过检查空值的方式避免空指针异常。受到 Google 的启发,Optional 类已经成为 Java 8 类库的一部分。

Optional<T> 类(java.util.Optional) 是一个容器类,它可以保存类型 T 的值,代表这个值存在。或者仅仅保存 null,表示这个值不存在。如果值存在,则isPresent()方法会返回 true,调用 get()方法会返回该对象。

1.1 常用方法

创建 Optional 类对象的方法:

  • static Optional of(T value) :用来创建一个 Optional 实例,value 必须非空。
  • static <T> Optional<T> ofNullable(T value) :用来创建一个Optional 实例,value 可能是空,也可能非空。

判断 Optional 容器中是否包含对象:

  • boolean isPresent() : 判断 Optional 容器中的值是否存在。
  • void ifPresent(Consumer<? super T> consumer) :判断 Optional 容器中的值是否存在,如果存在,就对它进行 Consumer 指定的操作,如果不存在就不做。

获取 Optional 容器的对象:

  • T get(): 如果调用对象包含值,返回该值。否则抛异常。T get()与 of(T value)配合使用。
  • T orElse(T other) :orElse(T other) 与 ofNullable(T value)配合使用,如果Optional 容器中非空,就返回所包装值,如果为空,就用 orElse(T other) other 指定的默认值(备胎)代替。
  • T orElseGet(Supplier<? extends T> other) :如果 Optional 容器中非空,就返回所包装值,如果为空,就用 Supplier 接口的 Lambda 表达式提供的值代替。
  • T orElseThrow(Supplier<? extends X> exceptionSupplier) :如果 Optional 容器中非空,就返回所包装值,如果为空,就抛出你指定的异常类型代替原来的NoSuchElementException。
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值