Is null check needed before calling instanceof?

Johan Lübcke picture Johan Lübcke · Jun 1, 2010 · Viewed 255.4k times · Source

Will null instanceof SomeClass return false or throw a NullPointerException?

Answer

Andy Thomas picture Andy Thomas · Jun 1, 2010

No, a null check is not needed before using instanceof.

The expression x instanceof SomeClass is false if x is null.

From the Java Language Specification, section 15.20.2, "Type comparison operator instanceof":

"At run time, the result of the instanceof operator is true if the value of the RelationalExpression is not null and the reference could be cast to the ReferenceType without raising a ClassCastException. Otherwise the result is false."

So if the operand is null, the result is false.