Is null check needed before calling instanceof?
java, null, nullpointerexception
Solution
No, a null check is not needed before using `instanceof`.
The expression `x instanceof SomeClass` is `false` if `x` is `null`.
The Java 11 Language Specification expresses this concisely in section 15.20.2, "Type comparison operator instanceof". (Java 17 expresses this less concisely, after the introduction of `instanceof` pattern matching.)
"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.
Problem
Will `null instanceof SomeClass` return `false` or throw a `NullPointerException`?