Option的orElse()与orElseGet()区别

Optional是Java8中引入的一个类,用来解决null的问题,它的orElse()orElseGet()方法都是用来处理null的,当Optional中的值为null时,提供一个默认值。

orElse()orElseGet()的区别在于,无论Optional对象中的值是否为空,orElse()函数都会执行;而由于orElseGet()中的参数为一个Supplier方法,该方法的特点是仅在必要的时候执行,因此只有在Optional对象中的值为空时,orElseGet()中的Supplier方法才会执行。

因此,只有当默认值已经事先定义的情况下,才使用orElse(),否则使用orElseGet()更好。

上次更新: 2024/01/03, 15:02:23
最近更新
01
docker-compose笔记
01-12
02
MySQL数据迁移
11-27
03
Docker部署服务,避免PID=1
11-27
更多文章>