细心羊

文章
6
资源
0
加入时间
3年0月8天

2. 如果两个Integer的值相等,使用==进行判断的结果是否相等(常量池问题)?

这个问题在之前看到过的一个博客有说过,我也得到一定提示。非常有意思。首先我们要理解Integer是int基本数据类型的封装类,也就是创建时应该是创建一个引用,并将引用指向这个对象。将真正数值存储在堆栈中,而且真正指向这个对象。从这里可以看出来了。当定义两个个Integer对象为-128到127中时,其实是不会创建新的引用的的,但是当超过这个范围后,就会创建一个新的引用,由于引用指向的地址都是不同的,