String.valueOf() vs toString() 차이 알고쓰자
비슷한 역할을 하지만 결과는 다른 두 메서드 String.valueOf()와 Object.toString()의 차이에 대해 알아보자.
차이점: Null처리
가장 큰 차이점은 null처리이다. null처리때문에 보통 Object.toString()을 많이 쓴다. 클라이언트는 null을 볼 필요가 없기때문이다.
1 | Object testObj = null; |
- String.valueOf(): null인 경우 문자열null을 만들어서 출력
- null체크: “null”.equals(string) 확인 필수
- Object.toString(): null인 경우 NPE 발생
- Onject의 값이 String타입이 아니어도 출력한다.
결론
NPE를 방지하고 싶다면 String.valueOf()를 사용하고 널체크를 꼭 해줘야한다.