本文介紹了為什么在顯式布爾測試上有死代碼警告,而在隱式測試上沒有的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我想知道為什么以下針對Boolean True的隱式測試不會產生死代碼警告,而顯式測試會產生死代碼警告?
例如:
public void noDeadCodeWarning()
{
final boolean x = false;
if ( x )
{
System.out.println("This is dead code"); // no warning
}
}
public void hasDeadCodeWarning()
{
final boolean x = false;
if ( x == true )
{
System.out.println("This is dead code"); // yes warning
}
}
我正在使用月食火星。和Java 1.8
推薦答案
在第二種方法中,集成開發環境評估表達式,因此它認為它是死代碼,但在第一種方法中,您傳遞了布爾值。
根據IDE,if語句需要布爾值作為條件,因此它不會求值
這篇關于為什么在顯式布爾測試上有死代碼警告,而在隱式測試上沒有的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,