哈希码是从任何对象生成的数字(对象的内存地址),而不仅仅是字符串。此数字用于在哈希表中快速存储/检索对象。
字符串 hashCode()
方法的语法为:
string.hashCode()
在这里, 字符串是String
类的对象。
hashCode()参数
matches()
方法不带任何参数。
hashCode()返回值
- 返回字符串的哈希码,它是一个
int
值
哈希码使用以下公式计算:
s[0]*31(n-1) + s[1]*31(n-2) + ... + s[n-1]
哪里,
-
s[0]
是字符串s
的第一个元素,s[1]
是第二个元素,依此类推。 -
n
是字符串的长度
示例:Java字符串hashCode()
class Main {
public static void main(String[] args) {
String str1 = "Java";
String str2 = "Java Programming";
String str3 = "";
System.out.println(str1.hashCode()); // 2301506
System.out.println(str2.hashCode()); // 1377009627
// hash code of empty string is 0
System.out.println(str3.hashCode()); // 0
}
}
注意 :要使两个字符串相等,它们的哈希码也必须相等。