반응형
BrokenNullCheck
우선순위 : 2
null 체크가 잘못되어 NullPointerException이 발생하는 경우로 논리 연산자인 &&나 ||를 잘못 사용하여 발생하게 된다.
샘플 코드
부연 설명
앞서 포스팅 한 MisplacedNullCheck에서도 언급했듯이 && 연산자와 || 여산자의 연산 방법에 기인하는 문제로
&&는 앞의 조건이 거짓인 경우 뒤의 조건을 무시한다. 이는 역으로 앞의 조건이 참이라면 뒤의 조건에 대한
확인을 수행한다는 의미이다. 즉 if (string == null && string.equals(“”))라는 if문은 만일 string이 null이라면
&& 연산자는 string.equals(“”)를 실행하게 되고 string이 null이니 당연히 NullPointerException이 발생하게 된다.
||의 경우도 마찬가지~
반응형
'Development > JAVA' 카테고리의 다른 글
[Spring] 웹 서비스 구현 시 사용한 기술에 대한 느낌들 (0) | 2016.03.01 |
---|---|
[디비 파기 | PMD] CheckResultSet (0) | 2016.02.28 |
[디비 파기 | PMD] MisplacedNullCheck (0) | 2016.02.28 |
[디비 파기 | PMD] AvoidDecimalLiteralsInBigDecimalConstructor (0) | 2016.02.28 |
[디비 파기 | PMD] ClassCastExceptionWithToArray (0) | 2016.02.28 |