2017-01-22 11 views
1

ブール値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

+3

評価しないように、文は条件としてブール値が必要な場合はIDEによります。 –

+0

Eclipseの開発者がそうすることを選択したので。 – luk2302

+0

OK。これは、「if」を「while」に変更すると、どちらの場合でも到達不能コードエラーが発生する理由を説明します。 –

答えて

0

IDEは式を評価して、デッドコードだと言っていますが、最初のメソッドでブール値を渡しています。

それはJavaが、それはIDEの機能です何の警告 - しません

関連する問題