Metoden Java Object hashCode () returnerar hashkodvärdet som är associerat med objektet.
Syntaxen för hashCode()
metoden är:
object.hashCode()
hashCode () -parametrar
Den hashCode()
metoden tar inte några parametrar.
hashCode () Returvärden
- returnerar hashkodvärdet för objektet
Obs! Hashkodvärdet är ett heltal som är associerat med varje objekt. Den används för att identifiera placeringen av objekt i hashtabellen.
Exempel 1: Java Object 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 ) )
Obs : Den Object
klassen är super klass för alla klasser i Java. Därför kan varje klass implementera hashCode()
metoden.
Exempel 2: hashCode () med String och 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 ) )
I exemplet ovan kan vi anropa hashCode()
metoden för att få hash-koden för String
och ArrayList
objektet.
Det beror på att String
och ArrayList
klass ärver Object
klassen.
Exempel 3: Hashkodvärde för lika objekt
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 ) )
I exemplet ovan kan vi se att två objekt obj1 och obj2 genererar samma hashkodvärde.
Det beror på att två objekt är lika. Och enligt officiell Java-dokumentation ska två lika objekt alltid returnera samma hashkodvärde.
Obs! Vi har använt metoden Java Object equals () för att kontrollera om två objekt är lika.