Мне было интересно, почему следующее неявное тестирование для 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
Java делает не Предупреждение- это особенность IDE. –
Потому что разработчик eclipse решил это сделать. – luk2302
ОК. Это объясняет, почему, если я изменил «if» на «while», в обоих случаях указывается недостижимая ошибка кода. –