本文介紹了為什么在顯式布爾測(cè)試上有死代碼警告,而在隱式測(cè)試上沒(méi)有的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我想知道為什么以下針對(duì)Boolean True的隱式測(cè)試不會(huì)產(chǎn)生死代碼警告,而顯式測(cè)試會(huì)產(chǎn)生死代碼警告?
例如:
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
推薦答案
在第二種方法中,集成開發(fā)環(huán)境評(píng)估表達(dá)式,因此它認(rèn)為它是死代碼,但在第一種方法中,您傳遞了布爾值。
根據(jù)IDE,if語(yǔ)句需要布爾值作為條件,因此它不會(huì)求值
這篇關(guān)于為什么在顯式布爾測(cè)試上有死代碼警告,而在隱式測(cè)試上沒(méi)有的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,