Heim > Java > javaLernprogramm > Vergleicht die Methode „contains()' von ArrayList Objektreferenzen oder -werte?

Vergleicht die Methode „contains()' von ArrayList Objektreferenzen oder -werte?

Susan Sarandon
Freigeben: 2024-12-02 06:28:10
Original
296 Leute haben es durchsucht

Does ArrayList's `contains()` Method Compare Object References or Values?

Wie die Methode contains() von ArrayList die Objektgleichheit bestimmt

Frage:

Betrachten Sie eine ArrayList enthält ein Objekt namens „thing“, das mit der Ganzzahl 100 erstellt wurde. Wenn ein zweites Objekt namens „another“ mit erstellt wird Wird bei derselben Konstruktoreingabe die Methode „enthält()“ von ArrayList „Ding“ und „anderes“ als gleich auswerten?

Antwort:

Die Methode „enthält()“ von ArrayList basiert auf der equal()-Methode zur Bestimmung der Objektgleichheit. Standardmäßig vergleicht diese Methode Objektverweise und nicht deren Inhalt.

Im bereitgestellten Codeausschnitt überschreibt die Thing-Klasse die Methode equal(), um das Wertfeld zu vergleichen. Die Methode enthält() gibt also „true“ zurück, wenn „Ding“ und „Anderes“ denselben Wert haben, unabhängig davon, ob es sich um dieselben Objektreferenzen handelt.

Implementierung für die Gleichheitsprüfung:

Ja, die bereitgestellte Implementierung der Klasse „Thing“, die die Methode „equals()“ basierend auf dem Wert überschreibt, sorgt dafür, dass „contains()“ für Objekte mit identischen Werten „true“ zurückgibt. Das Überschreiben von equal() ist erforderlich, um den Inhalt (Wertfeld) anstelle von Objektreferenzen zu vergleichen.

Das obige ist der detaillierte Inhalt vonVergleicht die Methode „contains()' von ArrayList Objektreferenzen oder -werte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage