Метод hashCode() класса Object в Java

Java String类Класс Object в Java


Метод hashCode() класса Object используется для получения хеш-значения объекта.

Синтаксис

object.hashCode()

Parameters

  • Отсутствует 。

Возвращаемое значение

Возвращает хеш-значение объекта, которое является целым числом, представляющим позицию в хеш-таблице.

Пример

Следующий пример демонстрирует использование метода hashCode():

Пример

class ExampleTest { 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()); } }

Вывод вышеприведённой программы:

225534817
1878246837
929338653

Классы String и ArrayList используют метод hashCode(). Поскольку оба класса String и ArrayList наследуют Object, они могут напрямую использовать метод hashCode():

Пример

import java.util.ArrayList; class ExampleTest { 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

Следующий пример демонстрирует, что если два объекта равны, то их хеш-значения также равны:

Пример

class ExampleTest { 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 String类Класс Object в Java

Другие расширения