运行代码:
Integer a=1000,b=1000;
System.out.println(a==b); 返回false
Integer d=100,c=100;
System.out.println(c==d);返回true
原因是因为:Integer的内部是这样的
Integer i=Integer.valueOf(100);
valuof()函数的值得缓存在-128-127之间
所以c和d指向的是同一个对象,a和b超出了缓存不是同一个对象。
运行代码:
Integer a=1000,b=1000;
System.out.println(a==b); 返回false
Integer d=100,c=100;
System.out.println(c==d);返回true
原因是因为:Integer的内部是这样的
Integer i=Integer.valueOf(100);
valuof()函数的值得缓存在-128-127之间
所以c和d指向的是同一个对象,a和b超出了缓存不是同一个对象。