gpt4 book ai didi

java - 字符串池中的字符串创建时不允许重复,是否使用hashCode来检测是否重复?

转载 作者:行者123 更新时间:2023-12-01 21:55:57 25 4
gpt4 key购买 nike

字符串对象是使用“”创建的,因此它是在字符串池中创建的。是否使用hashCode来判断是否重复?

String s1="abc";
String s2="abc";

最佳答案

没有记录它是否使用hashCodeintern 机制纯粹以高级术语指定,在 String#intern 的 JavaDoc 中。以及 JLS 中的简要说明,§15.28 .

这意味着实现可以做他们想做的事情,因此他们可以使用hashCode作为确定字符串是否已经在池中的一部分(它可以这不是完整的解决方案,字符串的 hashCode 并不能唯一地标识它;您必须查看它的字符序列)。 Oracle 的实现使 intern 成为一种 native 方法,因此必须深入研究 JVM 代码才能弄清楚它的作用。

关于java - 字符串池中的字符串创建时不允许重复,是否使用hashCode来检测是否重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34270493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com