通常,将通过基于该Optional.isPresent()方法添加检查(条件)来执行此操作。避免:首选:第3项:当不存在任何值时,通过Optional.orElse()方法设置/返回已经构造的默认对象使用Optional.orElse()方法代表了用于设置/返回值的isPresent()-get()对的优雅替代。这意味着即使不使用它,也会对它进行评估,这是一种性能损失。这里重要的一点是,参数oforElseGet()是Java 8新特性。这意味着作为参数传递的Suppliermethod只在Optionalvalue不存在时执行。因此,这有助于避免创建对象和执行在出现Optionalvalue时不需要的代码时的orElse()性能损失。对于Java 8和9,请考虑第6项。有时,当Optional不存在值时,你要做的就是抛出一个明确的异常。从Java 10开始,如果该异常java.util.NoSuchElementException仅依赖于orElseThrow()不带参数的方法-第5项。
暂无评论