Java 8引入了Optional处理NPE。在实际应用中,我无法理解问题。
我有方法A
public void doSomethingA(String para) {
Optional<String> name = Optional.of(para);
if (name.isPresent()) {
//do
}
}
但是,如果para = null,它将抛出NPE。
方法B
public void doSomethingB(String para) {
if (para != null) {
//do
}
}
如果我检查para不为null,则A和B有什么区别。
可选的含义在哪里。
最佳答案
如果不确定是否有值,请使用Optional.ofNullable
,但又不想引发NullPointerException
。
如果您知道自己具有非空值,或者如果抛出Optional.of
可以接受,则使用NullPointerException
。
关于其余的问题:为什么使用null
或Optional
,您可能会发现以下问题有用:Optional vs. null. What is the purpose of Optional in Java 8?
您的问题还可能与以下内容有关:Why use Optional.of over Optional.ofNullable?
关于java-8 - Optional.of(null)将抛出NPE,我需要在调用该方法之前验证null吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43339331/