본문 바로가기

개발 일기라기 보단 메모장/Java

String.valueOf()와 toString()의 차이는 무어엇~?

반응형

데이터 파싱이나 DB에 넣는 작업을 하다보면 데이터 타입을 맞춰줘야 하는 경우가 굉장히 많은데요,

이번엔 String 타입으로 변환하면서 생긴 궁금증..

 

String.valueOf()와 toString()의 차이점은 무엇일까? 하는 내용입니다 ㅎㅎ

(정확한 것은 아니지만..)

 

String.valueOf()와 toString() 두 메소드는 모두 객체를 String으로 변환해주는 부분은 공통점이지만

해당 객체가 null일 경우에는 어떻게 처리 하는지에 있어서 차이를 보입니다.

 

 

 

 

우선 편의상 Integer타입으로 선언한 a이라는 객체가

위와 같이 null이 아닌 값으로 초기화가 된 경우에는

String.valueOf()나 toString()값이 똑같이 나오지만,

 

 

 

 

이처럼 null로 초기화가 된 경우에는 서로 다른 결과가 나타나게 됩니다.

 

해당 값이 null인 경우

String.valueOf()은 "null"이라고 하는 String타입으로 반환하게 되지만

toString()의 경우에는 NullPointException을 발생시키게 됩니다.

 

 

* 때문에 NullPointException을 피하고 싶다면 toString()보다는 String.valueOf()를 사용하는 것이 좋다고 하는데,

null과 String 타입의 "null"은 다르기 때문에 

후속작업을 해주는 것이 좋을 듯 합니다.

반응형