Java의 언박싱(unboxing) 형변환
Java 8 Language Specification 5.1.8 Unboxing Conversion
언박싱(unboxing)은 래퍼 클래스(wrapper class)를 기본형 타입(primitive)로 바꾸는 과정이다.
박싱(boxing)은 기본형 타입을 래퍼 클래스로 만드는 과정이다.
💻 Java 8 공식문서에 따르면 언박싱 형변환은 다음 8가지 경우가 있다.
참조형 타입(reference type)을 기본형 타입(primitive type)으로 바꾼다.
좀 더 정확하게 말하자면 래퍼 클래스(wrapper class)를 기본형 타입(primitive type)으로 바꾼다.
💻 번역해서 간단하게 보자면 다음 경우와 같다.
- Boolean -> boolean
- Byte -> byte
- Short -> short
- Character -> char
- Integer -> int
- Long -> long
- Float -> float
- Double -> double
💻 런타임시 언박싱 형변환은 다음과 같이 진행된다.
💻 위 내용을 번역해보자.
- 만약 r 이 참조 타입인 Boolean 인 경우, 언박싱 형변환이 r 을 r.booleanValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Byte 인 경우, 언박싱 형변환이 r 을 r.byteValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Character 인 경우, 언박싱 형변환이 r 을 r.charValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Short 인 경우, 언박싱 형변환이 r 을 r.shortValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Integer 인 경우, 언박싱 형변환이 r 을 r.intValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Long 인 경우, 언박싱 형변환이 r 을 r.longValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Float 인 경우, 언박싱 형변환이 r 을 r.floatValue() 로 바꾼다.
- 만약 r 이 참조 타입인 Double 인 경우, 언박싱 형변환이 r 을 r.doubleValue() 로 바꾼다.
- 만약 r 이 null 인 경우, 언박싱 형변환은 NullPointerException 을 던진다.
'프로그래밍 > Java' 카테고리의 다른 글
valueOf() 와 parseInt() 의 차이점 (0) | 2022.01.21 |
---|---|
컬렉션 프레임워크(Collections Framework) (0) | 2022.01.19 |
함수형 인터페이스(Functional Interface)란 무엇인가? (0) | 2022.01.13 |
람다식이란? (0) | 2022.01.12 |
JAVA 8은 왜 이렇게 많이 쓸까? (1) | 2022.01.12 |