Option的orElse()与orElseGet()区别
Optional是Java8中引入的一个类,用来解决null的问题,它的orElse()与orElseGet()方法都是用来处理null的,当Optional中的值为null时,提供一个默认值。
orElse()与orElseGet()的区别在于,无论Optional对象中的值是否为空,orElse()函数都会执行;而由于orElseGet()中的参数为一个Supplier方法,该方法的特点是仅在必要的时候执行,因此只有在Optional对象中的值为空时,orElseGet()中的Supplier方法才会执行。
因此,只有当默认值已经事先定义的情况下,才使用orElse(),否则使用orElseGet()更好。
编辑 (opens new window)
上次更新: 2024/01/03, 15:02:23