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
go-admin-ui项目仿写练手1-登录页
06-29
02
maven依赖问题
06-17
03
JVM相关命令
02-21
更多文章>