gpt4 book ai didi

java - Java 双重哈希问题

转载 作者:行者123 更新时间:2023-12-02 06:37:58 31 4
gpt4 key购买 nike

我在大学的一个项目中遇到了一个问题,我们必须在类中编写一个双哈希方法,该方法返回一个双哈希字符串对象。考虑到 Java 中有一个内置的 hashCode() 方法,我认为这会相对简单,但是当您第二次迭代 hashCode 时,它​​似乎返回完全相同的值。例如:

StringHashCode.java:

public class StringHashCode implements HashCode{
@Override
public int giveCode(Object obj) {
return obj.hashCode();
}
}

咒语.java

while(dict_fwr.hasNextWord())
{
String derp = dict_fwr.nextWord();
System.out.print(derp + "(hash value = " + impl.giveCode(derp) + ")" + "(Double hashed = " + impl.giveCode(impl.giveCode(derp)) + ")\n" );
}

输出摘录:

midwest(hash value = 1055712247)(Double hashed = 1055712247)
partakes(hash value = 1188620491)(Double hashed = 1188620491)
interspersed(hash value = 486466540)(Double hashed = 486466540)
marginally(hash value = 1971567014)(Double hashed = 1971567014)
bemoans(hash value = -223340895)(Double hashed = -223340895)
bankrupt(hash value = -1858199613)(Double hashed = -1858199613)
transpire(hash value = 1052958868)(Double hashed = 1052958868)
conspire(hash value = -567922531)(Double hashed = -567922531)

Dict是一个包含单词列表的文件,类是由我们的讲师创建的类,它返回下一个字符串并检查是否有另一个单词。

最佳答案

您将一个int传递给giveCode()。它被自动装箱为整数。哈希码值的哈希码是相同的,因为Integer的哈希码就是整数值。来自 docs :

Returns: a hash code value for this object, equal to the primitive int value represented by this Integer object.

关于java - Java 双重哈希问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19451679/

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