教程 > Java 教程 > Java 高级 阅读:13

Java Object hashCode() 方法

返回 Java Object 类


Object hashCode() 方法用于获取对象的 hash 值。

语法

object.hashCode()

参数

无 。

返回值

返回对象哈希值,是一个整数,表示在哈希表中的位置。

实例

以下实例演示了 hashCode() 方法的使用:

实例

public class JiyikTest {
    public static void main(String[] args) {
 
        // Object 使用 hashCode()
        Object obj1 = new Object();
        System.out.println(obj1.hashCode()); 
 
        Object obj2 = new Object();
        System.out.println(obj2.hashCode());
 
        Object obj3 = new Object();
        System.out.println(obj3.hashCode()); 
    }
}

运行示例

以上程序执行结果为:

705927765
366712642
1829164700

String 和 ArrayList 类使用 hashCode() 方法,String 和 ArrayList 类都继承了 Object,所以可以直接使用 hashCode() 方法:

实例

import java.util.ArrayList;
 
public class JiyikTest {
    public static void main(String[] args) {
 
        // String 使用 hashCode()
        String str = new String();
        System.out.println(str.hashCode()); // 0
 
        // ArrayList 使用 hashCode()
        ArrayList<Integer> list = new ArrayList<>();
        System.out.println(list.hashCode()); // 1
    }
}

以上程序执行结果为:

0
1

以下实例演示如果两个对象相等,则它们的哈希值也是相等的:

实例

public class JiyikTest {
    public static void main(String[] args) {
 
        // Object 使用 hashCode()
        Object obj1 = new Object();
 
        // obj1 赋值给 obj2
        Object obj2 = 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

返回 Java Object 类

查看笔记

扫码一下
查看教程更方便