gpt4 book ai didi

java - Java 字符串哈希码是否独立于语言环境?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:04 24 4
gpt4 key购买 nike

是Java String.hashcode()完全独立于Locale ?换句话说,如果有人乱动默认的 Locale,我们能 100% 确定这不会影响哈希码吗?

我们知道这种摆弄会影响 toUpperCase()toLowerCase()

最佳答案

Locale 不会(直接)影响 String 的 hashCode。它完全基于存储在字符串中的字符。 hashCode由

生成
char[] val;

for (int i = 0; i < len; i++) {
h = 31*h + val[off++];
}

但问题是字符串是如何生成的。例如,如果它是依赖于 Locale 的 toUpperCase 的结果,显然结果 String 依赖于 Locale,hashCode 也是如此。

关于java - Java 字符串哈希码是否独立于语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218162/

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