2017-01-22 10 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 
    } 
} 

. and Java 1.8

+3

자바 않습니다는 IDE의 기능의 어떤 경고 - 평가하지 않도록 문을 조건으로 부울 값을 필요로하는 경우 IDE에 따르면

. –

+0

이클립스 개발자가 그렇게하기로 선택했기 때문에. – luk2302

+0

확인. 그러면 "if"를 "while"으로 변경하면 두 경우 모두 도달 할 수없는 코드 오류가 발생하는 이유가 설명됩니다. –

답변

0

두 번째 방법에서 IDE는 표현식을 평가하여 코드가 불량 코드라고 말하지만 첫 번째 메서드에서는 부울 값을 전달했습니다. 이