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 |