📜  Java字符串hashCode()

📅  最后修改于: 2020-09-27 02:38:02             🧑  作者: Mango

Java String hashCode()方法返回字符串的哈希码。

哈希码是从任何对象生成的数字(对象的内存地址),而不仅仅是字符串。此数字用于在哈希表中快速存储/检索对象。

字符串 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

  }
}

注意 :要使两个字符串相等,它们的哈希码也必须相等。