Integer的自动装箱机制是如何工作的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计199个文字,预计阅读时间需要1分钟。
Integer的new Integer(2) !=new Integer(2); 这段代码返回false,因为这里是new出来的两个对象,通过==判断是false的。而Integer i=2; Integer i1=2; (i==i1)返回true,因为Integer缓存了-128到127之间的值。当Integer i=128; Integer i1=128; (i==i1)返回true,因为它们都指向同一个对象。
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 */
本文共计199个文字,预计阅读时间需要1分钟。
Integer的new Integer(2) !=new Integer(2); 这段代码返回false,因为这里是new出来的两个对象,通过==判断是false的。而Integer i=2; Integer i1=2; (i==i1)返回true,因为Integer缓存了-128到127之间的值。当Integer i=128; Integer i1=128; (i==i1)返回true,因为它们都指向同一个对象。
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 */

