Wozu dient das Überschreiben der equals-Methode in Java?
Wozu dient das Überschreiben der equals-Methode in Java?

Video: Wozu dient das Überschreiben der equals-Methode in Java?

Video: Wozu dient das Überschreiben der equals-Methode in Java?
Video: Die equals()-Methode in Java 2024, April
Anonim

Überschreiben ist gleich und hashCode in Java

gleich () Methode ist Gebraucht um Objekte auf Gleichheit zu vergleichen, während hashCode ist Gebraucht um einen ganzzahligen Code zu erzeugen, der diesem Objekt entspricht

Was ist die Verwendung der equals-Methode in Java?

Die gleich () Methode vergleicht zwei Objekte auf Gleichheit und gibt true zurück, wenn sie sind gleich . Die gleich () Methode in der Objektklasse bereitgestellt Verwendet der Identitätsoperator (==), um zu bestimmen, ob zwei Objekte gleich . Bei primitiven Datentypen liefert dies das richtige Ergebnis.

Wie überschreiben Sie außerdem die Methode equals in Java? Im obigen Codestück hat die Klasse Person eine überschriebene equals()-Methode, die den folgenden schrittweisen Ansatz verfolgt:

  1. Wenn der Verweis auf dieses Objekt mit dem Verweis auf das Argumentobjekt identisch ist, geben Sie true zurück.
  2. Wenn das Argument null ist, geben Sie false zurück.
  3. Wenn die Objekte nicht aus derselben Klasse stammen, geben Sie false zurück.

Warum müssen wir dementsprechend die Methode equals in Java überschreiben?

Die String-Klasse überschreibt das gleich Methode es wurde von der Object-Klasse geerbt und implementierte Logik, um die beiden String-Objekte Zeichen für Zeichen zu vergleichen. Der Grund gleich Methode In der Object-Klasse wird auf Gleichheit verwiesen, weil sie nicht weiß, wie sie etwas anderes tun soll.

Wozu dient das Überschreiben der Methode hashCode und equals in Java?

wenn eine Klasse überschreibt gleich , es muss hashCode überschreiben . wenn sie beide sind überschrieben , gleich und Hash-Code muss verwenden die gleiche Menge von Feldern. wenn zwei Objekte sind gleich , dann ihre Hash-Code Werte müssen sein gleich sowie. wenn das Objekt unveränderlich ist, dann Hash-Code ist ein Kandidat für Caching und Lazy-Initialisierung.

Empfohlen: