黑马程序员技术交流社区
标题:
自动拆箱
[打印本页]
作者:
fengche
时间:
2013-10-20 20:27
标题:
自动拆箱
本帖最后由 fengche 于 2013-10-20 21:30 编辑
public class ReferenceComparison {
public static void main(String[] args) {
System.out.println(
new Integer(0) == new Integer(0));
}
}
复制代码
这种情况为何不自动拆箱?
作者:
murder_fol
时间:
2013-10-20 20:46
(1)自动装箱拆箱,是指java虚拟机将基本数据类型变成对应的包装类,或是将包装类变成对应的基本数据类型。
Integer a = 4; 右边是基本数据类型,直接赋给左边对象 就是自动装箱。
int a = new Integer(4); 就是自动拆箱。
(2)new Integer(0)==new Integer(0) 相同数据类型就无所谓拆箱了。
==比较的是两个对象是否是同一个对象,就是堆内存中地址是否一样,这边应该是false
如果 Integer a = 4;Integer b =4; a==b 就是应该是true,
如果数大于127 就false了 对于较小的常用的数,采用了享元设计模式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2