Java 8引入了Optional来处理NPE.在实际应用中,我无法理解问题.
我有方法A.
public void doSomethingA(String para) {
Optional<String> name = Optional.of(para);
if (name.isPresent()) {
//do
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果para = null,它将抛出NPE.
方法B.
public void doSomethingB(String para) {
if (para != null) {
//do
}
}
Run Code Online (Sandbox Code Playgroud)
如果我检查para不为空,A和B之间有什么区别.
Optional的含义在哪里.
Rol*_*and 17
使用Optional.ofNullable,如果你不确定你是否有一个值或没有,但你不想NullPointerException被抛出.
使用Optional.of如果你知道你有一个非空值,或者如果它的确定你是否NullPointerException另有抛出.
关于你的其余问题:为什么null或Optional你可能会发现以下问题有用:可选与null.Java 8中Optional的目的是什么?
您的问题也可能与以下内容有关:为什么在Optional.ofNullable上使用Optional.of?