Obiekt Java hashCode ()

Metoda hashCode () obiektu Java Object zwraca wartość kodu skrótu skojarzonego z obiektem.

Składnia hashCode()metody to:

 object.hashCode()

Parametry hashCode ()

hashCode()Metoda nie ma żadnych parametrów.

hashCode () Zwracane wartości

  • zwraca wartość kodu skrótu obiektu

Uwaga : Wartość kodu skrótu to liczba całkowita skojarzona z każdym obiektem. Służy do identyfikacji lokalizacji obiektów w tablicy skrótów.

Przykład 1: obiekt Java hashCode ()

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); System.out.println(obj1.hashCode()); // 1785210046 Object obj2 = new Object(); System.out.println(obj2.hashCode()); // 1552787810 Object obj3 = new Object(); System.out.println(obj3.hashCode()); // 1361960727 ) )

Uwaga : ta Objectklasa jest superklasą dla wszystkich klas w Javie. Dlatego każda klasa może implementować tę hashCode()metodę.

Przykład 2: hashCode () with String and ArrayList

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // hashCode() with String String str = new String(); System.out.println(str.hashCode()); // 0 ArrayList list = new ArrayList(); System.out.println(list.hashCode()); // 1 ) )

W powyższym przykładzie możemy wywołać hashCode()metodę, aby uzyskać kod skrótu obiektu Stringand ArrayList.

Dzieje się tak, ponieważ Stringi ArrayListklasa dziedziczą Objectklasę.

Przykład 3: Wartość kodu skrótu dla obiektu Equals

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); // assign obj1 to obj2 Object obj2 = obj1; // check if two objects are equal System.out.println(obj1.equals(obj2)); // true // get hashcode of obj1 and obj2 System.out.println(obj1.hashCode()); // 1785210046 System.out.println(obj2.hashCode()); // 1785210046 ) )

W powyższym przykładzie widzimy, że dwa obiekty obj1 i obj2 generują tę samą wartość kodu skrótu.

Dzieje się tak, ponieważ dwa obiekty są równe. I zgodnie z oficjalną dokumentacją Javy, dwa równe obiekty powinny zawsze zwracać tę samą wartość kodu skrótu.

Uwaga : do sprawdzenia, czy dwa obiekty są równe, użyliśmy metody Equals () Java Object.

Interesujące artykuły...