Heim > Java > javaLernprogramm > Java-Arrays: equal() vs. Arrays.equals() – Wann welche verwenden?

Java-Arrays: equal() vs. Arrays.equals() – Wann welche verwenden?

DDD
Freigeben: 2024-12-22 08:49:44
Original
197 Leute haben es durchsucht

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

equals vs. Arrays.equals: Ein Vergleich der Array-Vergleichsmethoden in Java

In Java kann der Vergleich von Arrays eine unkomplizierte Aufgabe sein. Es gibt jedoch subtile Unterschiede zwischen der Verwendung der Methode „equals“ und der Methode „Arrays.equals“, die zu unerwarteten Ergebnissen führen können.

equals vs. Arrays.equals

Die Die Methode equal ist von der Object-Klasse geerbt und wird zum Vergleichen von Referenzen auf Objekte verwendet. Bei Anwendung auf Arrays gibt array1.equals(array2) genau dann true zurück, wenn array1 und array2 dasselbe Array sind, das heißt, sie teilen sich denselben Speicherort.

Andererseits gibt Arrays.equals (array1, array2) vergleicht gezielt den Inhalt der Arrays. Es gibt „true“ zurück, wenn die Arrays die gleiche Länge haben und die entsprechenden Elemente an jedem Index gleich sind.

Beispiel:

Bedenken Sie den folgenden Code:

Object[] array1 = {1, 2, 3};
Object[] array2 = {1, 2, 3};
System.out.println(array1.equals(array2)); // false
System.out.println(Arrays.equals(array1, array2)); // true
Nach dem Login kopieren

In diesem Fall sind Array1 und Array2 unterschiedliche Arrays mit gleichem Inhalt. Daher gibt array1.equals(array2) false zurück, während Arrays.equals(array1, array2) true zurückgibt.

Anwendungsfälle

  • Referenz Vergleich: Verwenden Sie „equals“, um zu bestimmen, ob zwei Arrays dasselbe Objekt sind Speicher.
  • Inhaltsvergleich: Verwenden Sie Arrays.equals, um den Inhalt zweier Arrays zu vergleichen, unabhängig davon, ob es sich um dasselbe Objekt handelt.

Zusätzliche Überlegungen

  • Arrays primitiver Typen verhalten sich anders als Arrays von Objekten. Bei primitiven Arrays führen equal und Arrays.equals denselben Inhaltsvergleich durch.
  • Die direkte Verwendung von array.toString() liefert möglicherweise nicht die gewünschte Ausgabe. Verwenden Sie stattdessen Arrays.toString(array) für eine umfassende Darstellung des Array-Inhalts.

Das obige ist der detaillierte Inhalt vonJava-Arrays: equal() vs. Arrays.equals() – Wann welche verwenden?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage