有时,我看到了这一点:
if (a.equals(b)) do(something);
但是,如果a
为null,则抛出NullPointerException。假设a==null
和b==null
或仅a==b
时我想要do(something)
。在没有异常的情况下进行此检查的最简单方法是什么?
答案 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))