会 null instanceof SomeClass
返回 false
还是抛出 NullPointerException
?
原文由 Johan Lübcke 发布,翻译遵循 CC BY-SA 4.0 许可协议
会 null instanceof SomeClass
返回 false
还是抛出 NullPointerException
?
原文由 Johan Lübcke 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
3 回答3.2k 阅读✓ 已解决
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
不,在使用 instanceof 之前不需要进行空值检查。
表达式
x instanceof SomeClass
是false
如果x
是null
7b707e——-dcf4f08f147d98f294bJava 11 语言规范在 第 15.20.2 节“类型比较运算符 instanceof” 中简洁地表达了这一点。 (在引入 instanceof 模式匹配之后, Java 17 表达得不太简洁。)
因此,如果操作数为空,则结果为假。