null instanceof SomeClass
を返すか、false
それとも投げますかNullPointerException
?
ベストアンサー1
いいえ、 を使用する前に null チェックは必要ありませんinstanceof
。
が の場合、式はx instanceof SomeClass
となります。false
x
null
Java 11言語仕様ではこれを簡潔に表現しています。セクション 15.20.2、「型比較演算子 instanceof」. (Java 17ではこれをあまり簡潔に表現していないパターン マッチングが導入されて以降instanceof
。
「実行時に、 RelationalExpressionの値が でなく、を発生させずに参照をReferenceTypeにキャストできる場合
instanceof
、演算子の結果はになります。それ以外の場合は、結果は になります。」true
null
ClassCastException
false
したがって、オペランドが null の場合、結果は false になります。