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
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
Zusätzliche Überlegungen
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!