检查两个对象是否相等,即使它们可以为null

时间:2010-01-29 23:38:57

标签: java null

有时,我看到了这一点:

if (a.equals(b)) do(something);

但是,如果a为null,则抛出NullPointerException。假设a==nullb==null或仅a==b时我想要do(something)。在没有异常的情况下进行此检查的最简单方法是什么?

2 个答案:

答案 0 :(得分:24)

另一种写作方式。

if (a == null ? b == null : a.equals(b))

答案 1 :(得分:22)

if( a==b || (a!=null && a.equals(b)) )

a==b处理两者都为空的情况。)


还要注意Java 7及以上Object.equals方法:

if(java.util.Object.equals(a, b))
相关问题