关于java虚拟机第三版自动装箱拆箱的笔记
创始人
2024-03-28 11:16:13
        Integer a = 1;Integer b = 2;Integer c = 3;Integer d = 3;Integer e = 321;Integer f = 321;Long g = 3L;System.out.println(c == d);//true                Integer比较内存堆对象地址(有缓存-128~127)System.out.println(e == f);//false               Integer比较内存堆对象地址(无缓存-128~127)System.out.println(c == (a + b));//true          a + b自动拆箱成基础int,满足有一边是基础的,那么两边都是拆箱基础int的字面值System.out.println(c.equals(a + b));//true       a + b自动拆箱成基础int,调用equals时候又自动装箱成equals的Integer参数***System.out.println(g == (a + b));//true          a + b自动拆箱成基础int,满足有一边是基础的,那么两边都是拆箱基础,同时自动向上提升转型long的字面值System.out.println(g.equals(a + b));//false      a + b自动拆箱成基础int,调用equals时候又自动装箱成equals的Integer参数***(这里不会转Long参数)System.out.println(e == 321);//true              e自动拆箱成基础int,满足有一边是基础的,那么两边都是拆箱基础的计算
	最佳实践:a、b最好要么都是int(==比较),要么都是Integer(equals比较)a、b最好要么都是long(==比较),要么都是Long(equals比较)

相关内容

热门资讯

欧盟多国考虑对930亿欧元输欧... 转自:财联社【欧盟多国考虑对930亿欧元输欧美国商品加征关税】财联社1月19日电,据央视新闻报道,欧...
锡林浩特冬季那达慕暨蒙古马超级... (来源:内蒙古日报)转自:内蒙古日报□本报记者  巴依斯古楞  通讯员  崔巍光  摄影报道  1月...
@新就业形态劳动者,这些保障实...   外卖骑手穿梭街巷、网约车司机奔波全城、主播镜头前展风采、快递员忙碌分拣派送……当下新就业形态蓬勃...
雪落京城,送别“棋圣”     1月18日,一名吊唁者在整理花圈。当日,中国围棋协会名誉主席、“棋圣”聂卫平遗体告别仪式在北...
科技赋能精准治沙 长效管护筑... (来源:内蒙古日报)转自:内蒙古日报□本报记者  王塔娜  寒冬时节,朔风掠过赤峰市克什克腾旗的浑善...