相关疑难解决方法(0)

Java字符串上hashCode()的一致性

Java String的hashCode值计算为(String.hashCode()):

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
Run Code Online (Sandbox Code Playgroud)

是否存在以下表达式将评估为false的任何情况(例如JVM版本,供应商等)?

boolean expression = "This is a Java string".hashCode() == 586653468
Run Code Online (Sandbox Code Playgroud)

更新#1:如果您声称答案是"是,有这种情况" - 那么请举一个具体的例子,说明"这是一个Java字符串".hashCode()!= 586653468.尝试具体/具体尽可能.

更新#2:我们都知道,依赖hashCode()的实现细节通常很糟糕.但是,我正在特别谈论String.hashCode() - 所以请将答案集中在String.hashCode()上.Object.hashCode()在这个问题的上下文中完全不相关.

java string hashcode

128
推荐指数
4
解决办法
12万
查看次数

标签 统计

hashcode ×1

java ×1

string ×1