空实例对象

时间:2017-02-26 08:35:46

标签: java instanceof

我正在尝试某些东西而且我写了这段代码,

boolean x = null instanceof Object;
Object o = null; 
boolean y = o instanceof Object;

返回false并不奇怪。让我感到惊讶的是,IntelliJ IDEA抱怨y总是false,但对x没有说什么。这意味着什么吗?

1 个答案:

答案 0 :(得分:2)

这可能仅仅意味着IDEA代码分析器不具备支持这个用例"用例"。分析器可能(有意)编码以检测先前已分配给null的变量的使用,因为这是编码时常见的错误,但null instance of Object情况不常见因为很少有程序员会写这个,而实际上意味着别的东西。

像Sonar,Eclipse或IDEA这样的静态代码分析器无法正确检测到许多这样的构造。我不担心它,只要知道IDE无法发现你在代码中犯的每一个错误。