当前位置: 代码迷 >> Java相关 >> 这个我看不懂了,卧槽,看晕哦
  详细解决方案

这个我看不懂了,卧槽,看晕哦

热度:280   发布时间:2013-05-07 22:20:11.0
这个我看不懂了,卧槽,看晕哦

----------------解决方案--------------------------------------------------------
求解释true和false的缘由
----------------解决方案--------------------------------------------------------
Integer ina =2; 会调用  Integer.valueOf(int i)方法,而这个方法会缓存 -128 到127直接的数,说白了你要是用到这个区间的数,那java就会从缓存里调出来用,不管你定义几个引用也是同一个数据,如果你定义一个超过127的数,那它就会重新分配内存空间了,也就是两个东东了。

第二给问题也是同样的问题,见new就是两个不同的东东。
----------------解决方案--------------------------------------------------------
顶版主,
"hello"是字符串常量,在数据区保存的,是静态的,所以cStr和dStr都指向同一块内存,所以是一样的

----------------解决方案--------------------------------------------------------
回复 3楼 ren829
我明白了,只有是同一个缓存下的那个什么东东返回的就是true,而new出来的是两个字符串相同而已但是存在不同内存的东东,所以返回false
----------------解决方案--------------------------------------------------------
回复 4楼 hsjjgm
算是明白了一点点了
----------------解决方案--------------------------------------------------------
  相关解决方案