JDK 5부터 Auto Boxing / Unboxing을 지원한다. 여기서 Boxing이란 int 같은 primitive 타입 자료형을 Integer등의 Wrapper 클래스로 바꾸는것을 의미한다.
Primitive Type | Wrapper Class |
---|---|
boolean | Boolean |
byte | Byte |
char | Character |
short | Short |
long | Long |
int | Integer |
double | Double |
float | Float |
void | Void |
Auto Boxing / Unboxing 이 없었기 때문에 Boxing / Unboxing 시에 아래와 같은 코드를 작성했어야 했다.
Integer i = new Integer(1);
int j = i.intValue();
자동 변환이 되기 때문에 위 코드를 아래처럼 간단하게 작성 할 수 있다.
Integer i = 1;
int j = i;
이 자동 형변환은 컴파일러에 의해 위의 코드가 아래 코드로 치환되어 동작한다.
Integer i = Integer.valueOf(1);
int j = i.intValue();