📅  最后修改于: 2023-12-03 15:02:01.840000             🧑  作者: Mango
在Java中,每一个对象都有一个对应的hashCode值,该值由对象的内存地址和一些固定规则计算而来。而对于字符类型,在String类中提供了一个方法,用于计算字符的hashCode值,即hashCode()方法。
在JDK文档中,hashCode()方法被定义为:
public int hashCode()
该方法返回字符的hashCode值,返回值是一个int类型的整数值。
hashCode()方法的计算规则如下:
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
其中,s代表字符中的每一个字符,n代表字符的长度。
下面是一个示例,演示了如何在Java中使用hashCode()方法计算字符的hashCode值。
public class HashcodeExample {
public static void main(String[] args) {
char c1 = 'A';
char c2 = 'a';
char c3 = 'B';
int hashCode1 = Character.hashCode(c1);
int hashCode2 = Character.hashCode(c2);
int hashCode3 = Character.hashCode(c3);
System.out.println("HashCode of "+c1+" is "+hashCode1);
System.out.println("HashCode of "+c2+" is "+hashCode2);
System.out.println("HashCode of "+c3+" is "+hashCode3);
}
}
运行以上代码,输出结果如下:
HashCode of A is 65
HashCode of a is 97
HashCode of B is 66
从结果中可以看出,字符'A'的hashCode值为65,字符'a'的hashCode值为97,字符'B'的hashCode值为66,符合hashCode()方法的计算规则。