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

相关内容

热门资讯

伊朗称霍尔木兹海峡将继续关闭 ...   伊朗官方媒体Press TV在社交媒体平台X上发帖称,伊朗伊斯兰革命卫队表示,霍尔木兹海峡将继续...
胜利的方向丨夜渡于都河后,3.... 这曾是一条敌军未放在眼里的隐蔽小径,却成了红军先辈在最危急关头踩出的一条事关存亡的生命线。1934年...
按病种付费3.0版分组方案发布... 转自:证券时报人民财讯7月15日电,据国家医保局消息,为进一步做好发布前沟通解读工作,近日,在按病种...
30%补助支持!鼓励各类创新主... 中经记者 封莉 北京报道优化大设施组织建设模式,支持大设施开展重大科研任务,健全大设施开放运行机制,...
实训砺技,赋能终端|汾酒营销一... (来源:中国酒业协会 中国酒业协会CADA)实训砺技赋能终端2026年...