为什么Integer a = 127,b = 127;时a==b为true,而Integer c = 128,d = 128;时a==b为false?
Integer a = 128;Integer b = 128;System.out.println(ab);Integer c = 1;Integer d = 1;System.out.println(cd);执行结果:falsetrue因为Integer存在常量池,一次性把从-128到127之间的所有数都初始化了比较的是内存地址,当没超出赋值范围时,内存地址都为常量池中的地址;超出了int的最大缓存量后各自new了一个对象,两个地址肯定不一样了。...