언어/JAVA

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

코딩맛집 2023. 5. 2. 16:40

문자열 형 변환의 종류로는 대표적으로 String.valueOf() 속성과 Object.toString() 두 가지 메서드가 존재한다.
두 메서드 모두 객체를 String 문자열 참조 자료형으로 형 변환하는 역할을 하고 있다.

 

String.valueOf()와 Object.toString()의 차이점

1. 변환 가능 자료형의 종류 및 개수
2. null 값의 처리 여부에 따른 차이

보통 문자열로 형 변환 시 toString()을 자주 사용!!
But,  null 값을 문자열로 형 변환 시 NullPointerException을 발생시킴.

그에 반해 String.valueOf()를 사용하면 전달 받은 파라미터가 null이 전달될 경우 문자열 "null"을 반환한다.

 

Object.toString()

public class Main {
    public static void main(String[] args){
        Object obj = null;
        System.out.println(obj.toString());
    }
}

//출력
Exception in thread "main" java.lang.NullPointerException:

String.valueOf()

public class Main {
    public static void main(String[] args){
        Object obj = null;
        System.out.println(String.valueOf(obj));
    }
}

//출력
null