Checking if two objects are equal even if they could be null

java, null

Solution

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

(The `a==b` handles the case when both are null.)

Also be aware of the Java 7 and above Object.equals method:

if(java.util.Object.equals(a, b))

Problem

Sometimes, I see this: ``` if (a.equals(b)) do(something); ``` However, if `a` is null, a NullPointerException is thrown. Assuming when `a==null` and `b==null` or if just `a==b` that I would want to `do(something)`. What's the simplest way to do this check without getting an exception?

Original source