Vergleich von Arrays in Java: equal vs. Arrays.equals
Beim Vergleich von Array-Objekten in Java ist es wichtig, die subtilen Unterschiede zwischen equal zu verstehen und Arrays.equals.
equals Operator
Der Gleichheitsoperator in Java vergleicht, ob zwei Referenzen auf dasselbe Objekt im Speicher verweisen. Bei der Anwendung auf Arrays bedeutet dies, dass geprüft wird, ob die beiden Array-Referenzen auf dieselbe Array-Instanz verweisen.
Object[] array1, array2; array1.equals(array2);
In diesem Fall lautet das Ergebnis, wenn Array1 und Array2 auf dasselbe Array-Objekt verweisen WAHR. Andernfalls ist es falsch.
Arrays.equals-Methode
Im Gegensatz dazu vergleicht die Arrays.equals-Methode den Inhalt zweier Arrays. Es prüft, ob die Arrays die gleiche Anzahl an Elementen haben und ob die entsprechenden Elemente gleich sind.
Arrays.equals(array1, array2);
Wenn Array1 und Array2 den gleichen Inhalt haben, ist das Ergebnis wahr. Andernfalls ist es falsch.
Hauptunterschiede
Der Hauptunterschied zwischen equal und Arrays.equals besteht darin, dass equal Referenzen vergleicht, während Arrays.equals Inhalte vergleicht.
Beispiele
Bedenken Sie Folgendes Beispiele:
Object[] array1 = new int[] { 1, 2, 3 }; Object[] array2 = new int[] { 1, 2, 3 };
In diesem Fall ist array1.equals(array2) falsch, da array1 und array2 zwei verschiedene Array-Objekte sind. Arrays.equals(array1, array2) ist jedoch wahr, da die Inhalte der Arrays gleich sind.
Object[] array1 = new int[] { 1, 2, 3 }; Object[] array2 = array1;
In diesem Fall sind array1.equals(array2) und Arrays.equals(array1, array2 ) sind beide wahr, da Array1 und Array2 auf dasselbe Array-Objekt verweisen.
Das obige ist der detaillierte Inhalt vonJava-Array-Vergleich: „equals()' vs. „Arrays.equals()' – Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!