Inhaltsverzeichnis:
- Hauptunterschied - entspricht vs hashCode in Java
- Was ist in Java gleich?
- Was ist hashCode in Java?
- Was ist der Unterschied zwischen equals und hashCode in Java?
- Zusammenfassung - entspricht vs hashCode in Java
Video: Unterschied Zwischen Equals Und HashCode In Java
2024 Autor: Mildred Bawerman | [email protected]. Zuletzt bearbeitet: 2023-12-16 08:37
Hauptunterschied - entspricht vs hashCode in Java
Die Gleichheit ähnelt dem Operator ==, der die Objektidentität und nicht die Objektgleichheit testen soll. Der Hashcode ist eine Methode, mit der eine Klasse die in einer Instanz der Klasse gespeicherten Daten implizit oder explizit in einen einzelnen Hashwert aufteilt, bei dem es sich um eine 32-Bit-Ganzzahl mit Vorzeichen handelt. Der Hauptunterschied zwischen equals und hashCode in Java besteht darin, dass mit equals zwei Objekte verglichen werden, während mit hashCode entschieden wird, in welche Gruppe ein Objekt kategorisiert werden soll.
INHALT
1. Übersicht und Hauptunterschied
2. Was ist in Java gleich
? 3. Was ist Hashcode in Java?
4. Vergleich nebeneinander - Gleich mit Hashcode in Java in Tabellenform.
5. Zusammenfassung
Was ist in Java gleich?
Die Methode equals wird verwendet, um zwei Objekte zu vergleichen. Die Standardmethode equals ist in der Objektklasse definiert. Diese Implementierung ähnelt dem Operator ==. Die beiden Objektreferenzen sind nur dann gleich, wenn sie auf dasselbe Objekt zeigen. Es ist möglich, die Methode equals zu überschreiben.
Abbildung 01: Java-Programm mit Gleichheit
Die Anweisung System.out.println (s1.equals (s2)) gibt die Antwort false, da sich s1 und s2 auf zwei verschiedene Objekte beziehen. Es war ähnlich der Anweisung System.out.println (s1 == s2);
Die Anweisung System.out.println (s1.equals (s3)) gibt die Antwort true, da sich s1 und s3 auf dasselbe Objekt beziehen. Es war ähnlich der Anweisung System.out.println (s1 == s3);
In der Schülerklasse gibt es keine Gleichheitsmethode. Daher wird die Gleichheit in der Object-Klasse aufgerufen. True wird nur angezeigt, wenn die Objektreferenz auf dasselbe Objekt zeigt.
Abbildung 02: Java-Programm mit überschriebenen Gleichen
Gemäß dem obigen Programm wird die Methode equals überschrieben. Ein Objekt wird an die Methode übergeben und in Student umgewandelt. Dann werden die ID-Werte überprüft. Wenn die ID-Werte ähnlich sind, wird true zurückgegeben. Wenn nicht, wird false zurückgegeben. Die IDs von s1 und s2 sind ähnlich. Es wird also true gedruckt. Die IDs von s1 und s3 sind ebenfalls ähnlich, sodass true ausgegeben wird.
Was ist hashCode in Java?
Der Hashcode wird beim Hashing verwendet, um zu entscheiden, in welche Gruppe ein Objekt kategorisiert werden soll. Eine Gruppe von Objekten kann denselben Hashcode verwenden. Eine korrekte Hashing-Funktion kann Objekte gleichmäßig in verschiedene Gruppen verteilen.
Ein korrekter Hashcode kann folgende Eigenschaften haben. Angenommen, es gibt zwei Objekte als obj1 und obj2. Wenn obj1.equals (obj2) wahr ist, ist obj1.hashCode () gleich obj2.hashCode (). Wenn obj1.equals (obj2) false ist, ist es nicht erforderlich, dass obj1.hashCode () nicht gleich obj2.hashCode () ist. Die beiden ungleichen Objekte haben möglicherweise auch denselben Hashcode.
Abbildung 03: Schülerklasse mit equals und hashCode
Abbildung 04: Hauptprogramm
Die Student-Klasse enthält die Methoden equals und hashCode. Die equals-Methode in der Student-Klasse erhält ein Objekt. Wenn das Objekt null ist, wird false zurückgegeben. Wenn die Klassen der Objekte nicht identisch sind, wird false zurückgegeben. Die ID-Werte werden in beiden Objekten überprüft. Wenn sie ähnlich sind, wird true zurückgegeben. Andernfalls wird false zurückgegeben.
Im Hauptprogramm werden die Objekte s1 und s2 erstellt. Beim Aufruf von s1.equals (s2) wird true angegeben, da die equals-Methode überschrieben wird und die ID-Werte der beiden Objekte überprüft werden. Obwohl sie sich auf zwei Objekte beziehen, ist die Antwort wahr, da die ID-Werte von s1 und s2 gleich sind. Da s1.equals (s2) wahr ist, sollte der Hashcode von s1 und s2 gleich sein. Das Drucken des Hashcodes von s1 und s2 ergibt den gleichen Wert. Die hashCode-Methode kann mit Sammlungen wie HashMap verwendet werden.
Was ist der Unterschied zwischen equals und hashCode in Java?
Diff Artikel Mitte vor Tabelle
entspricht vs hashCode in Java |
|
equals ist eine Methode in Java, die sich ähnlich wie der Operator == verhält, bei dem die Objektidentität und nicht die Objektgleichheit getestet wird. | hashCode ist eine Methode, mit der eine Klasse die in einer Instanz der Klasse gespeicherten Daten implizit oder explizit in einen einzelnen Hashwert aufteilt. |
Verwendungszweck | |
Die Methode gleich wird verwendet, um zwei Objekte zu vergleichen. | Die Methode wird beim Hashing verwendet, um zu entscheiden, in welche Gruppe ein Objekt eingefügt werden soll. |
Zusammenfassung - entspricht vs hashCode in Java
Der Unterschied zwischen equals und hashCode in Java besteht darin, dass mit equals zwei Objekte verglichen werden, während mit hashCode entschieden wird, in welche Gruppe ein Objekt eingeteilt werden soll.
Empfohlen:
Unterschied Zwischen Android Und Java
Android vs Java Java ist eine der beliebtesten objektorientierten Programmiersprachen der Welt. Java wird häufig für die Software- und Webentwicklung verwendet
Unterschied Zwischen Java Und C ++
Java vs C ++ Java und C ++ sind beide objektorientierte Programmiersprachen. Mit diesen Anwendungen werden Softwareanwendungen entwickelt. Anwendungen basierend auf o
Unterschied Zwischen Java- Und C-Sprache
Java vs C Sprache Java und C sind beide Computerprogrammiersprachen. Beide werden zur Entwicklung von Softwareanwendungen verwendet. Java wird zum Erstellen einer Anwendung verwendet. B
Unterschied Zwischen Java Und JavaScript
Java vs JavaScript Java und JavaScript sind Programmiersprachen. Java ist eine objektorientierte Programmiersprache, während JavaScript eher ein Skript ist
Unterschied Zwischen Variablen Und Datenliteralen In Java
Hauptunterschied - Variablen und Datenliterale in Java Ein Computerprogramm besteht aus einer Reihe von Anweisungen zum Ausführen einer Aufgabe. Es ist erforderlich, Daten während des Programms zu speichern