100세까지 코딩
[자바 공부] 형 변환 함수 차이 (parseXXX, valueOf, toString) 본문
한눈에 정리
함수 | 설명 |
Integer.parseXXX() | 기본 타입인 int 타입을 반환. |
Integer.valueOf() | Integer 래퍼 객체를 반환. |
toString() | 대상이 null이면 Null PointException(NPE)를 발생. |
String.valueOf() | 대상이 null이면 문자열 "null"을 만들어서 반환. |
1) 기본 타입 vs 참조 타입
기본 타입은 byte, char, boolean, int, long 등 데이터의 실제 값이 저장되는 것들이다.
참조 타입은 String이나 객체 등 데이터가 저장된 위치 주소 값이 저장되는 것들이다.
2) Wrapper 클래스
기본 자료타입을 객체로 변환하기 위해서 사용하는 것이 래퍼 클래스이다.
모든 기본 타입은 래퍼 클래스로 변환할 수 있으며, 래퍼 클래스의 기본 타입 값은 외부에서 변경할 수 없다.
모든 래퍼 클래스의 부모는 Object이다.
기본 타입을 래퍼 객체로 만드는 것을 박싱, 래퍼 객체에서 기본 타입을 얻어내는 것을 언박싱이라고 한다.
기본타입 | 래퍼클래스 |
byte | Byte |
char | Character |
int | Integer |
float | Float |
double | Double |
boolean | Boolean |
long | Long |
short | Short |
3) parseXXX vs valueOf
모든 기본 타입의 래퍼 객체는 parseXXX()와 valueOf() 함수를 가지고 있다.
차이점은 parseXXX는 기본 타입을 반환하고 valueOf는 래퍼 객체로 반환한다.
필요에 따라 선택하여 사용을 하면 된다.
4) toString vs valueOf
Object 클래스는 toString 메소드를 가지고 있다.
즉, Object의 하위 클래스들은 모두 toString을 사용 가능하다.
문자열을 반환하지만 대상이 null이면 Null PointException(NPE)를 발생시킨다.
valueOf도 문자열을 반환하는 것은 동일하지만 null일 경우 문자열 "null"을 만들어서 반환한다.
에러를 방지하기 위해 toString 보다는 valueOf를 사용하는 것이 바람직하다.
'JAVA' 카테고리의 다른 글
[자바 공부] String 메서드 정리 (0) | 2023.09.08 |
---|---|
[자바 공부] Arrays 메서드 정리 (0) | 2023.09.08 |
[자바 공부] 문자열 (String, StringBuffer, StringBuilder) (0) | 2023.09.02 |
[자바 공부] 상속과 바인딩 (0) | 2023.08.12 |
[자바 공부] 상속 & 생성자 (정처기 문제) (0) | 2023.08.10 |