Java에서 String 타입과 null에 대해 '+' 연산을 수행하면 어떻게 될까?
System.out.println("123" + null);
// 결과
123null
NPE가 발생할줄 알았는데, 123null이 출력된다..?
그 이유는 자바 doc을 보면 알 수 있다.
If an operand of type String is null, then the string "null" is used instead of that operand.
-> 어느 한 피연산자가 null이면 해당 피연산자 대신 문자열 "null"이 사용된다는 뜻이다.
만약 특정 문자열에 null이 더해질 때 NPE를 발생시키고 싶다면 String.concat() 메서드를 사용하면 된다.
"123".concat(null)
null.concat("123")
// 결과
모두 NPE
'java' 카테고리의 다른 글
[Java] valueOf, parserseInt 차이점 (4) | 2021.10.28 |
---|