level 8
噢丶Right
楼主
Integer a=190;
Integer b=190;
Integer c=127;
Integer d=127;
System.out.println(a==b);
System.out.println(c==d);
结果为什么是false和true
应该都是false才对啊
==========================================
当数据不再-128到127之间时,是不执行return IntegerCache.cache[i + offset];这句的,也就是不会返回一个static的引用,而是执行了return new Integer(i); 于是当 Integer d = 128 时,又会重新返回一个引用,两个不同的引用
2013年05月18日 03点05分
1
Integer b=190;
Integer c=127;
Integer d=127;
System.out.println(a==b);
System.out.println(c==d);
结果为什么是false和true
应该都是false才对啊
==========================================
当数据不再-128到127之间时,是不执行return IntegerCache.cache[i + offset];这句的,也就是不会返回一个static的引用,而是执行了return new Integer(i); 于是当 Integer d = 128 时,又会重新返回一个引用,两个不同的引用

