本文是百分网小编搜索整理的主要介绍java 装箱与拆箱详解及实例代码的相关资料,对java 的装箱及拆箱进行了基本概念详解及简单使用,供参考学习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!
要理解装箱和拆箱的概念,就要理解java数据类型
装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。int包装成integer、float包装成float
拆箱:和装箱相反,将引用类型的对象简化成值类型的数据
integer a = 100; 这是自动装箱 (编译器调用的是static integer valueof(int i))
int b = new integer(100); 这是自动拆箱
public class datatype {
public static void main(string args[]) {
datatype dt = new datatype();
dt.m11();
dt.m12();
}
public void m11() {
integer a = new integer(100);
integer b = 100;
n("m11 result " + (a == b));
}
public void m12() {
integer a = new integer(128);
integer b = 128;
n("m12 result " + (a == b));
}
}
m11 result false
m12 result false
“==”比较的是地址,而a和b两个对象的地址不同,即是两个对象,所以都是false
通过javap解析字节码,内容如下
public void m11();
code:
0: new #44; //class java/lang/integer
3: dup
4: bipush 100
6: invokespecial #46; //method java/lang/integer."
java的装箱和拆箱实用
文件夹