Is null check needed before calling instanceof?

2021-6-3 anglehua

Will null instanceof SomeClass return false or throw a NullPointerException?

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.

Using a null reference as the first operand to instanceof returns false.


Powered by emlog 京ICP备15036472号-3 sitemap