关于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比较)

相关内容

热门资讯

【文化中国行】“圈”出幸福感!... (来源:工人日报) 阅读提示 近年来,嘉兴市总工会以全总“559”部署和省总工会“137...
特色养殖“驮”起增收梦 投喂黑驴。本报记者 栾雨嘉 摄本报记者 栾雨嘉12月12日,黄南藏族自治州尖扎县措周乡俄什加村的肉驴...
内蒙古粮食产量达840.7亿斤 (来源:内蒙古日报)转自:内蒙古日报本报12月13日讯  (记者  韩雪茹)据12月12日国家统计局...
北疆楷模黄启东先进事迹报告会举... (来源:内蒙古日报)转自:内蒙古日报本报呼和浩特12月13日讯  (记者  皇甫秀玲)12月11日,...
全球最大储能电站在巴彦淖尔投运 (来源:内蒙古日报)转自:内蒙古日报本报巴彦淖尔12月13日电  (记者  薄金凤)12月12日,内...