同String pool 类似的,Java中存在整数(Integer 对象,而非基本类型)pool。在Java中1字节大小以内的Integer(0-127)都是存在一个常量池中的,(不包含new Integer(xx)初始化),所以他们的引用也是相同的。
1. 用等号和基本类型初始化,等效于用“=”和常量初始化,代码如下,

输出如下:127之前都是相等的引用。

2. 对比代码

结果如下;可以看到,结果都是false。因为,其中一个并不是在常量池中的值。


本文深入探讨了Java中Integer对象池的工作原理,特别是针对0到127范围内的Integer对象如何被存储在一个常量池中,并解释了这些对象的引用如何在代码中保持一致。文章通过代码示例展示了在不同情况下Integer对象引用的比较结果。
同String pool 类似的,Java中存在整数(Integer 对象,而非基本类型)pool。在Java中1字节大小以内的Integer(0-127)都是存在一个常量池中的,(不包含new Integer(xx)初始化),所以他们的引用也是相同的。
1. 用等号和基本类型初始化,等效于用“=”和常量初始化,代码如下,

输出如下:127之前都是相等的引用。

2. 对比代码

结果如下;可以看到,结果都是false。因为,其中一个并不是在常量池中的值。


486
497
800

被折叠的 条评论
为什么被折叠?