Java string null check by != null or !str.equals(null)?

yonikawa picture yonikawa · Feb 13, 2013 · Viewed 44k times · Source

What's the best way to check for not null values in java.

String query ="abcd";

query != null vs !query.equals(null).

which is better?why?

Answer

Rohit Jain picture Rohit Jain · Feb 13, 2013

1st one is better (and the only option), because 2nd one will throw NPE, when your value is actually null. As simple as that.

Try this out:

String str = null;
str.equals(null);  // will throw `NPE`.

So basically, the test which you wanted to perform itself triggers a NullPointerException in the 2nd case. So, it is no choice.