先看以下代码:
public class Test{
public static void main(String[] args){
Integer a = 12;//自动装箱
//以上代码等同于下面的代码
Integer a = new Integer(12);
int b = a; //自动拆箱
//以上代码等同于一下代码
int b = a.intvalue();
}
}
其中,Integer a = 12;可以理解为 Integer a = new integer(12);
将一个基本数据类型自动转换成一个包装类型(引用类型),这个过程就是自动装箱过程.
而 int b = a; 是将一个包装类型(引用数据类型)自动转换为一个基本数据类型,这个过程就是自动拆箱过程.
注意:
这种机制是在JDK5之后的版本中才存在的,在JDK5之前的版本是没有自动拆箱与自动装箱机制的,需要自己去操作这个过程.
欢迎关注本人微信公众号