# Java `String.hashCode()`方法示例

> 原文： [https://howtodoinjava.com/java/string/string-hashcode-method/](https://howtodoinjava.com/java/string/string-hashcode-method/)

Java `String.hashCode()`方法返回`String`的哈希码。 哈希码值用于基于哈希的集合中，例如`HashMap`，`HashTable`等。在覆盖`equals()`方法的每个类中都必须覆盖此方法。

> 阅读更多： [`hashCode()`和`equals()`方法之间的协定](https://howtodoinjava.com/java/basics/java-hashcode-equals-methods/)

## 1\. `String.hashCode()`方法

`String`对象的哈希码计算为：

> `s[0] * 31^(n-1) + s[1] * 31^(n-2) + … + s[n-1]`
> 
> 其中：
> 
> `s[i]` – 字符串的第`i`个字符
> `n` – 字符串的长度，
> `^` – 表示幂

`String.hashCode()`覆盖`Object.hashCode()`。 它以**整数**值的形式返回哈希码。

## 2\. Java `String.hashCode()`示例

Java 程序，用于计算字符串的哈希码。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String blogName = "howtodoinjava.com";

        System.out.println( blogName.hashCode() );

        System.out.println( "hello world".hashCode() );
    }
}

```

程序输出。

```java
1894145264
1794106052

```

参考：

[Java `String`文档](https://docs.oracle.com/javase/10/docs/api/java/lang/String.html)