[英]if (a != null && a instanceof A) … or if (a instanceof A)
[英]Null instanceof Object
我正在尝试某些事情,并编写了这段代码,
boolean x = null instanceof Object;
Object o = null;
boolean y = o instanceof Object;
都返回假也就不足为奇了。 令我惊讶的是,IntelliJ IDEA抱怨y
始终是false
但没有对x
任何说明。 这暗示着什么吗?
这可能仅意味着IDEA代码分析器未编写为支持此“用例”。 分析器可能(有意地)编码为检测以前分配给null
的变量的使用,因为这是编码时经常犯的错误,但是null instance of Object
的null instance of Object
并不常见,因为很少有程序员会这样做写这个,而实际上意味着其他。
像Sonar,Eclipse或IDEA这样的静态代码分析器无法正确检测到许多类似的构造。 我不会为此担心太多,只是要知道IDE不能发现您在代码中犯的所有错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.