Integer

Integer

为什么第二个的选择题,那个100==50+50的返回是true?

100是直接从对象常量池中提取,50也是,那么为什么一个对象等于两个对象返回true。。。。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
喜欢做梦的鱼 2017-02-21 13:49:40

”常量池里的地址一样“这个说法是错误的,每个常量池里的数据也是有自己独立的存储位置的。

攻城师的白日梦 2017-02-20 21:32:01

常量池中的地址应该是同一块内存空间

喜欢做梦的鱼 2017-02-18 13:23:43

在这个题目中,当进行 three==one+two 比较的时候,右侧的加法运算完成的实际是50+50的算术运算。因此,针对常量池中相同的100,结果肯定是true啦。如果解决了你的疑惑,欢迎采纳~~


  • 我能理解为one+two=100后,他的地址和three变得一样了吗?
    2017-08-07 17:06:17
  • 运行结果对应的是一样的。
    2017-08-08 17:59:32
攻城师的白日梦 2017-02-18 10:50:15

100是从常量池中提取的,同样的道理,50也是来自于常量池,而==操作用来判断地址的,因为都在常量池中,所以地址是一样的,结果为true,希望能够帮到你

  • 提问者 大口口口 #1
    所有在常量池里面的地址都是一样的吗?
    2017-02-20 20:25:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师