我知道Optionals ifPresent()调用意味着替换空检查。从Oracle文档中提取代码示例,它在简单的情况下似乎非常有用。例如:
Optional<Soundcard> soundcard = ...;
soundcard.ifPresent(System.out::println);
我只是想了解为什么这被认为比空检查更好。可读性?性能?在我看来,这会对项目性能产生影响,因为必须引入一个新对象才能保存我们最终希望获得的对象?完整的,为什么这 soundcard.ifPresent()
被认为优于此 if(soundcard != null)
。