Heim >Java >javaLernprogramm >Verwendet die Methode „contains()' von ArrayList Objektgleichheit oder Referenzgleichheit?

Verwendet die Methode „contains()' von ArrayList Objektgleichheit oder Referenzgleichheit?

Susan Sarandon
Susan SarandonOriginal
2024-12-07 18:06:171003Durchsuche

Does ArrayList's `contains()` Method Use Object Equality or Reference Equality?

Verstehen des Objektvergleichs in der Methode „contains()“ von ArrayList

Die Methode „contains()“ in ArrayList wertet aus, ob ein bestimmtes Objekt in der Liste vorhanden ist. Bei der Bestimmung der Objektgleichheit verwendet ArrayList die Methode equal(), die in der Klasse des Objekts definiert ist.

Stellen Sie sich das folgende Szenario vor: Sie erstellen ein Thing-Objekt mit einem ganzzahligen Wert und fügen es einer ArrayList hinzu. Wenn Sie anschließend ein anderes Dingobjekt mit einem identischen Wert erstellen, erkennt die Methode „contains()“ diese dann als gleichwertig?

Überlegungen zur Implementierung

Für die Methode „contains()“ zu Um true zurückzugeben, muss die Methode equal() innerhalb der Thing-Klasse entsprechend implementiert werden. In diesem Fall vergleicht die Methode equal() korrekt die Wertinstanzvariable zwischen den Objekten und gibt true zurück, wenn sie identisch sind.

Fazit

Die Methode enthält() in ArrayList delegiert den Objektvergleich an die Methode equal(), die in der Klasse des Objekts definiert ist. Durch die Implementierung von equal() zum Vergleich relevanter Instanzvariablen können Sie sicherstellen, dass Objekte in ArrayList-Operationen korrekt als gleich oder nicht identifiziert werden.

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

Stellungnahme:
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