之前就遇到过类似的疑惑,为什么基本数据类型有时候能当成对象用,例如一个method(object o);需要一个对象作为参数传入,但是int i= 1;这样的一个i可以传入,或者说这个时候的i可以当成一个对象用,
这就是jdk5之后就有的新特性,自动装箱,意思就是本身是个基本数据类型,但是在他需要时可以直接封装成一个包装类的对象,在需要他变成基本数据类型时,他就自动拆箱变成里面的那个数据;
它们分别对应着在jdk5之前没有自动装箱和拆箱的两个步骤:
装箱int i = 1对应: 实例化一个对象:integer i= new integer (1);
拆箱int i= j或者是method(i)对应:在用i当基本数据类型的时候因为i是个integer对象,需要用方法返回他的数据:
比如method (i.intValue);
或者是int j = i.intValue;