我最近在Java 8中遇到了Optionals(有点迟了)。我不明白他们有什么特别之处。官方文档确实说它使您的代码更具可读性并保护它免受空指针异常的影响。 请考虑以下示例。
假设我们有一个名为getString()的方法,其中ofcourse返回一个字符串,我们存储在一个名为sample的变量中。
String sample=getString()
现在,如果我们执行以下操作 -
Optional<String> stringOptional=Optional.of(sample)
和sample为null,上面的语句将抛出一个空指针异常。假设,我们使用另一种可选方法,即
Optional<String> stringOptional=Optional.ofNullable(sample)
我们仍然需要检查
if(stringOptional.isPresent())
我不理解,也不相信,上面的内容比直接做得更好
if(sample!=null)
我知道这个问题纯粹基于意见,但如果有人指出并提供一个很好的例子,说明为什么期权是java的一个很好的补充,并帮助开发人员不要编写样板代码,我将不胜感激。