두 메소드 모두 Object
의 값을 String
으로 변환하는 방법이지만, Object
의 값이 null
인 경우 처리하는 게 다르다.
Integer.toString()
: null값을 문자열로 형 변환 시 NPE(Null Pointer Exception)이 발생한다.
Object obj = null;
System.out.println(obj.toString()); // NPE 오류 발생
String.valueOf()
: null값을 문자열로 형 변환 시 문자열 "null"
로 반환해준다.
Object obj = null;
System.out.println(String.valueOf(obj)); // "null" 출력
문자열로 반환할 때는 NPE를 신경써야하는 toString()
메소드보단 valueOf()
메소드를 사용하는 것이 좋을 것 같다.