自动装箱和自动拆箱
那么Java中有八大基本数据类型,byte、char、short、int、long、double、float、boolean。而它们有对应的包装类
Byte、Character、Short、Integer、Long、Double、Float、Boolean,这样通过包装后,它们就成为了引用数据类型
那么基本数据类型怎么变成对应的包装类呢?
手动装箱
在jdk1.5之前呢,是没有自动装箱的功能的,那么只能由我们编写代码手动装箱!将int类型装箱为Integer类型
public void test() {
int i = 10;
// 手动装箱
Integer a = new Integer(i);
// 手动拆箱
int i1 = a.intValue();
System.out.println(i1);
}
自动装箱
我们就拿Integer为例,在jdk5之后就有了自动装箱/拆箱功能
public void test() {
// 自动装箱,底层使用的是Integer.valueOf(10)方法,返回一个Integer对象
Integer a = 10;
// 自动拆箱,底层使用的是Integer.intValue()方法
int b = a;
}
通过字节码的角度我们可以看得更加清晰!