在回答此问题时清除此帖子
发布于 2021-01-28 13:58:35
实际上,这很简单。
而不是做bar.getFoo().equals(FUBAR)
,这会给NullPointerException
带来风险,你必须以FUBAR.equals(bar.getFoo())
的方式检查它。这就是它的全部。
如此简单
public boolean myMethod(final MyObject bar) {
return FUBAR.equals(bar.getFoo());
}
发布于 2021-01-28 15:01:27
公认的答案没有错。但是,它只适用于使用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;
}
}
https://stackoverflow.com/questions/65931568
复制相似问题