Integer的自动装箱特性是如何实现的长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计192个文字,预计阅读时间需要1分钟。
javaInteger i=2; // i 和 i1 是两个不同的Integer对象Integer i1=2; // i 和 i1 指向同一个Integer对象(i==i1) // 返回true,因为Integer缓存中2的值是相同的对象Integer i=128; // i 和 i1 是两个不同的Integer对象Integer i1=128; // i 和 i1 指向同一个Integer对象(i==i1) // 返回true,因为128在Integer缓存中也是缓存的对象
new Integer(2)==new Integer(2); /*这段代码返回的是false 因为这里是new出来的两个对象,通过==判断是false的 */ Integer i=2; Integer i1=2; (i==i1)返回的是true 而Integer i=128; Integer i1=128; (i==i1)这段代码返回的是false 因为Integer有个特点,就是在常量池里面存放的是-128-127的数值会自动装箱 若是不在这个范围里的数值,还是会创建两个不同的Integer对象装箱后,在堆内存开辟不同的空间,将返回false */
本文共计192个文字,预计阅读时间需要1分钟。
javaInteger i=2; // i 和 i1 是两个不同的Integer对象Integer i1=2; // i 和 i1 指向同一个Integer对象(i==i1) // 返回true,因为Integer缓存中2的值是相同的对象Integer i=128; // i 和 i1 是两个不同的Integer对象Integer i1=128; // i 和 i1 指向同一个Integer对象(i==i1) // 返回true,因为128在Integer缓存中也是缓存的对象
new Integer(2)==new Integer(2); /*这段代码返回的是false 因为这里是new出来的两个对象,通过==判断是false的 */ Integer i=2; Integer i1=2; (i==i1)返回的是true 而Integer i=128; Integer i1=128; (i==i1)这段代码返回的是false 因为Integer有个特点,就是在常量池里面存放的是-128-127的数值会自动装箱 若是不在这个范围里的数值,还是会创建两个不同的Integer对象装箱后,在堆内存开辟不同的空间,将返回false */

