프로그래머스/Java

[Java 문법] String.valueOf() VS toString()

annovation 2025. 1. 18. 10:05

String.valueOf()

다양한 타입의 값을 문자열로 변환하는 정적(static) 메서드입니다.

 

1. 기본 타입(primitive type)을 문자열로 변환

int number = 10;
String strNumber = String.valueOf(number);
// strNumber는 "10" 이라는 문자열을 갖게 됩니다.

 

2. 객체를 문자열로 변환

Object obj = new Object();
String strObj = String.valueOf(obj);
// obj의 toString() 결과를 문자열로 반환합니다.
// 만약 obj가 null이면 "null" 문자열을 반환합니다.

 

3. boolean 값 변환

boolean flag = true;
String strFlag = String.valueOf(flag);
// strFlag는 "true" 라는 문자열을 갖게 됩니다.

 

4. char 값 변환

char ch = 'A';
String strCh = String.valueOf(ch);
// strCh는 "A"라는 문자열을 갖게 됩니다.

String.valueOf() VS toString()

구분 String.valueOf() toString()
기본 사용 목적 다양한 타입(기본 타입 포함)의 값을 문자열로 변환 주로 객체의 문자열 표현을 반환
null 처리 방식 null을 넣으면 "null" 문자열을 반환 null에 대해서 바로 호출 시 NullPointerException 발생
호출 가능 대상 기본 타입 값(int, double, boolean 등)과 객체 모두 가능 주로 객체에 대해 호출하며, 기본 타입은 직접 호출 불가(Wrapper 필요)
반환 결과 매개변수로 받은 값에 대한 문자열 표현을 반환 해당 객체의 toString() 구현 내용에 따른 문자열 반환
의도/목적 NPE를 피하고 손쉽게 문자열 변환을 하려는 경우 유용 클래스나 객체의 의미 있는 문자열 표현을 제공
구현 관점 내부적으로 obj != null ? obj.toString() : "null"와 유사한 로직 수행 객체가 재정의한 toString() 메서드 호출하여 문자열 반환

출처

OpenAI ChatGPT (https://openai.com)

'프로그래머스 > Java' 카테고리의 다른 글

[Java 문법] Overloading VS Overriding  (1) 2025.02.23
[Java 문법] enum(enumerated type)  (0) 2025.02.14
[Java 문법] Class<?>  (0) 2025.01.17
[Java 문법] Optinal 주요 Method  (0) 2025.01.16
[Java 문법] Optional  (0) 2025.01.15