哈希码是由任何 对象(不只是 字符串)生成的数字(对象的内存地址)。此数字用于在哈希表中快速存储/检索对象。
字符串 hashCode()
方法的语法是
string.hashCode()
此处,string 是 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 String 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
}
}
注意:要使两个字符串相等,它们的哈希码也必须相等。
另请阅读