본문 바로가기
Java , Spring/Java

[Java] String.valueOf() 와 toString()

by 방배킹 2024. 1. 17.

String.valueOf() 

  • String.valueOf()는 모든 데이터 타입을 안전하게 문자열로 변환할 수 있는 일반적인 방법
  • 특히 null 값을 처리할 때 유용하다. String.valueOf(null)은 "null" 문자열로 변환되어 예외를 방지할 수 있다.
  • 기본적인 문자열 변환에 사용되며, 추가적인 형식이나 사용자 정의 문자열 표현이 필요하지 않은 경우에 유용합니다.

toString()

  • toString()은 기본적으로  객체의 클래스 이름과 해시 코드를 나타낸다.
  • 오버라이드를 하여 자유롭게 구현할 수 있다. (자유도가 높다)
  • null값 처리 불가 ⭢ NPE 발생

 

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // toString 메서드 오버라이드
    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + '}';
    }
}

public class Example {
    public static void main(String[] args) {
        Person person = new Person("John", 25);

        // String.valueOf() 사용
        String valueOfString = String.valueOf(person);
        System.out.println("String.valueOf(): " + valueOfString);

        // toString() 사용
        String toStringResult = person.toString();
        System.out.println("toString(): " + toStringResult);
    }
}

 

 결론

일반적으로는 String.valueOf()를 사용하여 간단한 문자열 변환을 처리하자.

추가로 구현을 해야하는경우 toString()을 오버라이딩 해서 직접 구현해서 사용하자.

댓글