Heim >Java >javaLernprogramm >Java-Arrays: Wann sollte „equals()' vs. „Arrays.equals()' verwendet werden?

Java-Arrays: Wann sollte „equals()' vs. „Arrays.equals()' verwendet werden?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-22 16:14:10847Durchsuche

Java Arrays: When to Use `equals()` vs `Arrays.equals()`?

equals vs Arrays.equals in Java

In Java werden beim Vergleich von Arrays die beiden Anweisungen array1.equals(array2) und Arrays verwendet. equal(array1, array2) scheint austauschbar zu sein. Es gibt jedoch entscheidende Unterschiede zwischen ihnen.

array1.equals(array2)

Diese Anweisung prüft, ob die beiden Arrays dasselbe Objekt sind, d. h., dass sie sich auf das beziehen gleichen Speicherort. Es gibt genau dann true zurück, wenn array1 == array2. Mit anderen Worten: Es wird auf Identität und nicht auf Inhaltsgleichheit geprüft.

Arrays.equals(array1, array2)

Diese Anweisung vergleicht den Inhalt der beiden Arrays. Es gibt genau dann „true“ zurück, wenn beide Arrays die gleiche Länge haben und jedes entsprechende Element gleich ist.

Hauptunterschied:

Der grundlegende Unterschied zwischen den beiden Aussagen liegt darin ihren Zweck. array1.equals(array2) testet die Objektidentität, während Arrays.equals(array1, array2) die Inhaltsgleichheit testet.

Wann zu verwenden ist Which:

  • Verwenden Sie array1.equals(array2), wenn Sie überprüfen möchten, ob zwei Arrays auf dasselbe zugrunde liegende Array verweisen Objekt.
  • Verwenden Sie Arrays.equals(array1, array2), wenn Sie die tatsächlichen Werte vergleichen möchten, die in den Arrays enthalten sind.

Zusätzliche Überlegungen:

  • Beachten Sie, dass array.toString() möglicherweise nicht immer die gewünschte Ausgabe liefert. Arrays.toString(array) sollte verwendet werden, um eine String-Darstellung des Inhalts eines Arrays zu erhalten.

Das obige ist der detaillierte Inhalt vonJava-Arrays: Wann sollte „equals()' vs. „Arrays.equals()' verwendet werden?. 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