Integer缓存问题

java内部为了节省内存,IntegerCache类中有一个数组缓存了值从-128到127的Integer对象。当我们调用Integer.valueOf(int i){这一步自动装箱就会用到}的时候,如果i的值时结余-128到127之间的,会直接从这个缓存中返回一个对象,否则就new一个新的Integer对象。
即:当我们定义两个Integer的范围在【-128—+127】之间,并且值相同的时候,用==比较值为true;

       当大于127或者小于-128的时候即使两个数值相同,也会new一个integer,那么比较的是两个对象,用==比较的时候返回false
--------------------- 
作者:wang0112233 
来源:CSDN 
原文:https://blog.csdn.net/wang0112233/article/details/78641951 
版权声明:本文为博主原创文章,转载请附上博文链接!

阅读更多
换一批

没有更多推荐了,返回首页