[英]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.