// 컴파일 전 코드
int i = 5;
Integer iObj = new Integer(7);
int sum = i +iobj;
// 컴파일 후 코드
int i = 5;
Integer iObj = new Integer(7);
int sum = i +iobj.intValue();
⇒ 기본형 → 참조형으로 변환. 원칙적으로 형변환 사용불가였으나 컴파일러가 자동으로 바꿔준다.
예제
import java.util.ArrayList;
public class VarEx3 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(100); // JDK 1.5이전에는 에러였음
list.add(new Integer(100));
int i2 = list.get(0).intValue(); // intValue()로 Integer로 변환
Integer i = list.get(0); // list에 저장된 첫번째 객체를 꺼낸다. 언박싱 위에 코드처럼해야하지만 바로 꺼낼수있다.
}
}