我有一个问题。
这是
Issue issue = Optional.ofNullable(someMethod())
.orElseThrow(() -> new Exception("Issue is null"));
比这更好
Issue issue = someMethod();
if (issue == null) {
throw new Exception("Issue is null");
}
答案 0 :(得分:3)
Optional
的目的不是替换代码库中的每个空引用,而是帮助设计更好的API,只需读取方法的签名 - 用户可以判断是否期望可选值。此外,Optional强制您主动解包Optional以处理缺少值;因此,您可以保护代码免受意外的空指针异常的影响。
根据doc可选应该使用多链接调用完成的地方,并且不确定哪一个会抛出NullPointerException
。
您必须考虑阅读文档,确保它有助于您了解Optional
用法。