Java Object hashCode() 方法
Object hashCode() 方法用于获取对象的 hash 值。
语法
object.hashCode()
参数
无 。
返回值
返回对象哈希值,是一个整数,表示在哈希表中的位置。
实例
以下实例演示了 hashCode() 方法的使用:
实例
classRunoobTest{publicstaticvoidmain(String[]args){// Object 使用 hashCode()Objectobj1 = newObject();
System.out.println(obj1.hashCode());
Objectobj2 = newObject();
System.out.println(obj2.hashCode());
Objectobj3 = newObject();
System.out.println(obj3.hashCode());
}}
以上程序执行结果为:
225534817 1878246837 929338653
String 和 ArrayList 类使用 hashCode() 方法,String 和 ArrayList 类都继承了 Object,所以可以直接使用 hashCode() 方法:
实例
importjava.util.ArrayList;
classRunoobTest{publicstaticvoidmain(String[]args){// String 使用 hashCode()Stringstr = newString();
System.out.println(str.hashCode()); // 0// ArrayList 使用 hashCode()ArrayList<Integer> list = newArrayList<>();
System.out.println(list.hashCode()); // 1}}
以上程序执行结果为:
0 1
以下实例演示如果两个对象相等,则它们的哈希值也是相等的:
实例
classRunoobTest{publicstaticvoidmain(String[]args){// Object 使用 hashCode()Objectobj1 = newObject();
// obj1 赋值给 obj2Objectobj2 = obj1;
// 判断两个对象是否相等System.out.println(obj1.equals(obj2)); // true// 获取 obj1 与 obj2 的哈希值System.out.println(obj1.hashCode()); // 225534817 System.out.println(obj2.hashCode()); // 225534817}}
以上程序执行结果为:
true 225534817 225534817