일단 해보자고~

자바 :: String.valueOf() / Object.toString()의 사용법과 차이 본문

Programming Language/Java

자바 :: String.valueOf() / Object.toString()의 사용법과 차이

InWooK 2022. 9. 8. 18:32

목차

     

    문자열 형 변환의 종류로는 대표적으로 String.valueOf()와 Object.toString()이라는 두 가지 메서드가 존재한다.

    두 메서드 모두 객체를 String(문자열 참조 자료형)으로 형변환하는 역할을 한다.

     

    이 두 메서드에 대해 알아보자.

    1. String.valueOf()

    • null 처리가 가능함.
    • 전달받은 파라미터가 null이 전달될 경우 문자열 "null"을 반환함.(항상 String 형태로 출력)
    • 그런 이유로 valueOf()는 "null".equals(string) 형태로 다시 null 체크를 해줘야 한다.
    • null로 인해 발생된 에러는 시간이 지나, 타인의 소스인 경우 디버깅하기 어렵고 어떤 의미를 내포하고 있는지 판단하기 어렵기 때문에 NPE를 방지하기 위해 toString()보다는 valueOf()를 사용하는 것을 추천함.
    public static void main(String[] args) {
    	String str = null;
    	System.out.println(String.valueOf(str));
    }

    2. Object.toString()

    • null 값을 형변환 시 NullPointerException(NPE)이 발생.
    • Object의 값이 String이 아니어도 출력.
    public static void main(String[] args) {
    	String str = null;
    	System.out.println(str.toString());
    }

    Comments