toString()과 String.valueOf() 차이점

Jinjin·2023년 11월 6일
0
post-thumbnail

두 메소드 모두 Object의 값을 String으로 변환하지만 변경하고자 하는 Object가 null이라면 다르게 처리한다.


📌차이점 ⇒ null값에 따른 NPE의 발생 유무

  • toString() : Null PointerException(NPE)을 발생시킨다.(Object에 담긴 값이 String이 아니여도 출력한다.)
  • String.valueOf() : "null"이라는 문자열로 처리한다.
    🔎 valueOf의 null체크 방법은 "null".equals(string) 형태로 체크를 해야한다.

🔔결론

null로 인해 발생한 에러는 시간이 지나고, 타인의 소스인경우 디버깅하기 어렵고 어떤 의미를 내포하고 있는지 판단하기 어렵다. 따라서, NPE를 방지하기 위해 toString보다는 valueOf를 사용하는 것을 추천한다.


참고: https://swjeong.tistory.com/146

profile
BE Developer

0개의 댓글