Мне было интересно, почему следующее неявное тестирование для логического значения 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
}
}
Я использую затмение марс. и Ява 1.8