1

当我们尝试使用打印任何对象时,toString()我们会得到 HashCode(如果toString()没有被覆盖)。但是,如果我想打印字符串变量的哈希码,我该怎么办。这个问题是关于Java的。

4

4 回答 4

8

只需调用hashCode()对象String

String s = "Hello World";
System.out.println(s.hashCode());

如果您希望它采用与 相同的格式Object.toString(),请尝试以下操作:

System.out.println(Integer.toHexString(s.hashCode()));
于 2012-08-28T13:54:53.733 回答
2

hashCode()您可以通过调用该方法获取任何 Java 对象的哈希码。结果将是int您可以打印或使用它做任何其他事情。

如果您对 的实现感兴趣,Object.toString很容易在grepcode中查看。它说:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
于 2012-08-28T13:54:48.000 回答
2
System.out.println("Some String".hashCode());
于 2012-08-28T13:55:00.583 回答
1

只需调用该hashcode()方法。它来自Object.

String str = "mystring";
System.out.println(str.hashCode());
于 2012-08-28T13:55:31.763 回答