Richarddjh 2021-01-25 09:19 采纳率: 50%
浏览 20
已采纳

java中String的intern()方法

 

帮助解释一下为什么java7以后这两个结果不相同,感谢大佬解答

  • 写回答

3条回答 默认 最新

  • 纯白微风 2021-01-25 09:37
    关注

    字符串调用intern()方法后,如果常量池中有与这个字符串相同的就直接返回常量池中的,如果没有就把字符串加入到常量池中再返回字符串的引用,

    “good”在常量池中没有,所以会加入,s1.intern()与s1是同一个引用

    “java”字符串已经在常量池中了,所以s2.intern()是返回的常量池中的,s2是在堆上,不同

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?