코딩/Java

자바 - 변수의 값을 문자열로 변환 (String.valueOf() 메소드)

Junoni 2025. 1. 26. 16:27
반응형

String.valueOf()의 메소드를 활용하면 아무 타입의 변수의 값을 문자열로 변환이 가능하다.

 

 

public class Example {
    public static void main(String[] args) {
        int num = 10;
        boolean isTrue = true;
        char character = 'A';

        System.out.println(String.valueOf(num));        // "10"
        System.out.println(String.valueOf(isTrue));     // "true"
        System.out.println(String.valueOf(character));  // "A"
    }
}

변수 num의 값인 10을 문자열 "10"로 변환

변수 isTrue의 값인 true를 문자열 "true"로 변환

변수 character의 값인 'A'를 문자열 "A"로 변환

 

 

public class Example {
    public static void main(String[] args) {
        int num = 10;
        boolean isTrue = true;
        char character = 'A';

        System.out.println(String.valueOf(num).equals("10"));       // true
        System.out.println(String.valueOf(isTrue).equals("true"));  // true
        System.out.println(String.valueOf(character).equals("A"));  // true
    }
}

System.out.println() 메소드로는 String.valueOf() 메소드의 결과 값이 문자열 타입인지 모르니

String.equals() 메소드를 활용하여 결과 값이 문자열 타입인지 체크했다.

 

 

객체를 String.valueOf() 메소드를 활용해 문자열로 변환한다면?

public class Example {
    public static void main(String[] args) {
        Object obj = new Object();

        System.out.println(String.valueOf(obj));  // java.lang.Object@1786f9d5
        
        System.out.println(String.valueOf(obj).equals(obj.toString())); // true
    }
}

obj라는 객체를 만들어 문자열로 변환하니 java.lang.Object@1786f9d5라는 값이 나왔다.

이러한 값은 Object 클래스의 toString() 메소드에서 나오는 값이다.

그래서 객체를 String.valueOf() 메소드로 변환한 값과 객체의 toString() 메소드의 반환 값을 비교했더니 동일한 결과가 나왔다.

 

즉 객체를 String.valueOf() 메소드를 사용해 문자열로 변환 시, 객체의 toString() 메소드의 반환 값을 변환 값으로 반환한다.

반응형