자바에서 다양한 데이터 타입을 문자열로 변환해야 하는 경우에는 (String) 캐스팅, toString() 메서드, 그리고 valueOf() 메서드가 사용될 수 있습니다.
(String) 캐스팅
서로 다른 데이터 타입 간의 캐스팅을 시도하면 컴파일 에러가 발생합니다.
null일 경우 null로 출력됩니다.
public class Example {
public static void main(String[] args) {
Object example2 = 1;
Object example3 = null;
Object example4 = true;
System.out.println((String) example2); // 에러
System.out.println((String) example3); // null
System.out.println((String) example4); // 에러
}
}
toString() 메서드
모든 클래스는 Object 클래스를 상속하므로, Object 클래스에서 상속받은 toString() 메서드를 재정의하여 해당 클래스의 객체를 문자열로 표현할 수 있습니다.
public class Example {
public static void main(String[] args) {
Object example2 = 1;
Object example3 = null;
Object example4 = true;
System.out.println(example2.toString()); // 1
System.out.println(example3.toString()); // NullPointerException
System.out.println(example4.toString()); // true
}
}
valueOf() 메서드
valueOf() 메서드는 모든 데이터 타입을 문자열로 변환할 수 있습니다.
null일 경우 null로 출력됩니다.
public class Example {
public static void main(String[] args) {
Object example2 = 1;
Object example3 = null;
Object example4 = true;
System.out.println(String.valueOf(example2)); // 1
System.out.println(String.valueOf(example3)); // null
System.out.println(String.valueOf(example4)); // true
}
}
'JAVA > 자바 기본 문법' 카테고리의 다른 글
[JAVA] instancef 연산자 (0) | 2023.08.19 |
---|---|
[JAVA] 접근 제어자 (public, protected, default, private) (0) | 2023.08.11 |
[JAVA] String / StringBuilder / StringBuffer 차이점 (0) | 2023.08.10 |
[JAVA] 문자열 (0) | 2023.08.10 |
[JAVA] 배열 선언과 초기화 (0) | 2023.08.10 |