Is orElseThrow better than if(obj == null)?



我有一个问题。

是这个

Issue issue = Optional.ofNullable(someMethod())
    .orElseThrow(() -> new Exception("Issue is null"));

比这个更好

Issue issue = someMethod();
if (issue == null) {
    throw new Exception("Issue is null");
}

Optional的目的不是替换代码库中的每个无零用参考期望可选值。此外,可选的迫使您积极解开可选的,以应对缺乏价值;结果,您可以保护代码免受意外的空指针异常。

可选参考

根据DOC可选,应在多链接呼叫的情况下使用,并且不确定哪个会扔NullPointerException。您必须考虑阅读DOC确保它将帮助您了解Optional的使用。

相关内容

  • 没有找到相关文章