Java - 多线程
Java - Multi Thread
清除此 post 因为这是回答
其实很简单
与其做 bar.getFoo().equals(FUBAR)
有 NullPointerException
的风险,不如换个方式检查 FUBAR.equals(bar.getFoo())
。仅此而已。
如此简单
public boolean myMethod(final MyObject bar) {
return FUBAR.equals(bar.getFoo());
}
接受的答案没有错。但是,它仅适用于使用 equals()
的特定情况。如果使用任何其他 bar.getFoo()
的方法,我们将无法以相同的方式避免可能的 NullPointerException
。
更通用的答案是将结果存储在局部变量中。
public boolean myMethod(final MyObject bar) {
Object temp = bar.getFoo(); // temp can obviously be a more specific type
if (temp != null) {
return temp.toString().equals(FUBAR);
} else {
return false;
}
}
清除此 post 因为这是回答
其实很简单
与其做 bar.getFoo().equals(FUBAR)
有 NullPointerException
的风险,不如换个方式检查 FUBAR.equals(bar.getFoo())
。仅此而已。
如此简单
public boolean myMethod(final MyObject bar) {
return FUBAR.equals(bar.getFoo());
}
接受的答案没有错。但是,它仅适用于使用 equals()
的特定情况。如果使用任何其他 bar.getFoo()
的方法,我们将无法以相同的方式避免可能的 NullPointerException
。
更通用的答案是将结果存储在局部变量中。
public boolean myMethod(final MyObject bar) {
Object temp = bar.getFoo(); // temp can obviously be a more specific type
if (temp != null) {
return temp.toString().equals(FUBAR);
} else {
return false;
}
}