A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© fengche 中级黑马   /  2013-10-20 20:27  /  1201 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fengche 于 2013-10-20 21:30 编辑
  1. public class ReferenceComparison {
  2.     public static void main(String[] args) {
  3.         System.out.println(
  4.              new Integer(0) == new Integer(0));
  5.     }
  6. }
复制代码
这种情况为何不自动拆箱?

评分

参与人数 1技术分 +1 收起 理由
To + 1 很给力!

查看全部评分

1 个回复

倒序浏览
(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了  对于较小的常用的数,采用了享元设计模式
  


评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马