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

相关内容

热门资讯

法拉电子股价涨3.12%,工银... 6月18日,法拉电子涨3.12%,截至发稿,报175.36元/股,成交6.31亿元,换手率1.63%...
6月17日中证上海国企ETF(... 数据显示,6月17日,中证上海国企ETF(510810)获净申购108.17万元,位居当日股票ETF...
神火股份跌1.02%,成交额4... 6月18日,神火股份盘中下跌1.02%,截至10:17,报24.30元/股,成交4.15亿元,换手率...
汉宇集团涨1.08%,成交额2... 6月18日,汉宇集团盘中上涨1.08%,截至10:17,报10.25元/股,成交2910.82万元,...
6月17日广发中证全指信息技术... 数据显示,6月17日,广发中证全指信息技术ETF(159939)遭净赎回1499.46万元,位居当日...