为什么1000 == 1000 返回false 100 == 100 返回 true

来源:互联网 发布:java中的同步 编辑:程序博客网 时间:2024/06/08 05:45

运行代码:

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超出了缓存不是同一个对象。



0 0
原创粉丝点击