做个优雅的码农 2021-07-20 20:41 采纳率: 0%
浏览 49

常量池中字符串的连接是怎样的?

S1和S5有什么区别,好像输出结果都是hello,world,==比较对象类型是比较地址,字符串在常量池都有,为什么结果一个是True一个是False
img

  • 写回答

4条回答 默认 最新

  • 白芍爱上蒲公英 2021-07-20 22:08
    关注

    个人的浅见。
    第一,jvm中s2和s3跟s1都不相等(在常量池中)
    第二,s4是字面量的想加,会在常量池中寻找,发现s1和s4相等,此时返回常量池中s1的引用地址
    第三,s5为s2和s3想加,会返回堆中的引用地址

    评论

报告相同问题?

问题事件

  • 创建了问题 7月20日