本帖最后由 kevinmesss.tz 于 2014-2-7 16:40 编辑
Integer m = 128 ;Integer n = 128 ;m==n 为false因为是两个对象所以内存地址不同
Integer a = 127 ; Integer b = 127 ; a==b为true 因为数值在byte范围内就会从常量池中去 而不开辟新空间
那么为什么
Integer x = new Intefer("123") ;
Integer y = new Intefer(123) ;
x==y却是false 123小于128应该在常量池中的啊
(x,y一个构造函数有"" 一个没有 有什么区别) |