在调用instanceof之前需要空检查

问题:

null instanceof SomeClass返回false或投出NullPointerException

回答:

不,使用instanceof之前不需要空检查。
如果xnull,则表达式x instanceof SomeClassfalse
从Java语言规范,在http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2

“在运行时,如果RelationalExpression
  不为空
和引用的值可以转换为ReferenceType而不引起ClassCastException,则instanceof运算符的结果为true,否则结果为false。

所以如果操作数为null,结果为false。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Is null check needed before calling instanceof

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

48 − 39 =