Java에서 String equals 시 주의할점을 적어봅니다.
Null 참조를 주의합니다
일반적으로 사용하는방법, 변수를 먼저 쓴다.
변수.equals("상수")
- 해당 방법은 변수가 null이 들어올 경우 예외를 발생시키게 되고, 비정상적인 프로그램 종료를 발생시킬 수 있다.
1 |
|
1 |
|
- null 이 들어올시,
Who are you?
가 아닌 NullPointerException이 발생한다.
상수를 먼저 씀으로써 회피한다.
상수.equals("변수")
- eqauls함수에서 null 체크를 먼저 해버리므로, 예외를 회피할 수 있다.
1 |
|
또 다른 방법 Object equals 이용.
Objects.equals("문자열1", "문자열2)
1 |
|
- 다음과 같은 경우에 name에 null이 들어가도 null 참조 예외가 발생하지 않는다.
1 |
|
- Objcets equals의 구현을 보면, null 체크를 해주기 떄문!
전체 소스
1 |
|
1 |
|
- 아주 사소한 차이지만, 결과는 사소하지 않을 수 있다.
- 방어적인 코딩을 하는 습관을 몸에 배여놓자.