已有101人关注
老师们下午好,这个字符串比较的引用,为什么不相同呢,先谢谢老师了,求解答
发表在Java图书答疑 2020-04-23 悬赏:3 学分 《Java从入门到精通(第4版)》第5章 字符串
是否精华
版块置顶:


分享到:
精彩评论 4
ywfpclt
学分:577 LV6
2020-04-23
沙发

字符串用==比较的是字符串的地址,用equals()方法比较的才是字符串值

这里s6应该是生成了一个新的字符串常量地址,和S1地址不一样

13018014521
学分:310 LV5
2020-04-26
板凳

ywfpclt 发表于2020-04-23 18:30

字符串用==比较的是字符串的地址,用equals()方法比较的才是字符串值

这里s6应该是生成了一个新的字符串常量地址,和S1地址不一样

字符串直接+,应该是在常量池里,找有没有相同的加完后的字符串。有的话是直接返回引用,没有的话才是创建一个新的常量返回引用啊。都是在常量池里,相同的字符串,引用怎么会不相同呢。

13018014521
学分:310 LV5
2020-04-26
地板

ywfpclt 发表于2020-04-23 18:30

字符串用==比较的是字符串的地址,用equals()方法比较的才是字符串值

这里s6应该是生成了一个新的字符串常量地址,和S1地址不一样

5.png

您看,这就是true了,那s6返回的是什么呢。

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照