为了账号安全,请及时绑定邮箱和手机立即绑定

我是终于理解了啊。。关于课堂作业的S3 == S4的问题

前面都没有什么说的,主要是觉得S3和S4的内存地址为什么不等没有理解。现在我就说说我的理解,当然最开始还是要先理解常量池和堆内存到底是怎么回事。。


看字面意思,我始终觉得S3和S4不是都存的两个常量么,结果突然醒悟,tm的,原来S1是一个变量,当然最终是要把S3和S4的内存地址不同了。。


普及一下S1是将字符串存在常量池中,所以它的地址是常量池给的。同样S2也是常量池给的地址,地址都是字符串常量"imooc"的地址,所以s1和s2的地址是一样的。。

然而s3是一个常量加上一个变量,因此是存在堆内存中,这个地址是堆内存新给s3的。

同理,s4的地址也是堆内存给他的。。因此s3和s4的内存地址是不一样的

正在回答

1 回答

理解比较透彻,赞一个

1 回复 有任何疑惑可以回复我~
#1

qq_随想之风_03202251

不太理解为什么s3 s4 存放在堆内存中
2016-07-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

我是终于理解了啊。。关于课堂作业的S3 == S4的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信