Membandingkan Tatasusunan dalam Java: equals vs Arrays.equals
Apabila membandingkan objek tatasusunan dalam Java, adalah penting untuk memahami perbezaan halus antara yang sama dan Arrays.equals.
equals Operator
Operator yang sama dalam Java membandingkan sama ada dua rujukan merujuk kepada objek yang sama dalam ingatan. Apabila digunakan pada tatasusunan, ini bermakna ia menyemak sama ada dua rujukan tatasusunan menunjuk kepada contoh tatasusunan yang sama.
Object[] array1, array2; array1.equals(array2);
Dalam kes ini, jika tatasusunan1 dan tatasusunan2 merujuk kepada objek tatasusunan yang sama, hasilnya akan benar. Jika tidak, ia akan menjadi palsu.
Kaedah Arrays.equals
Sebaliknya, kaedah Arrays.equals membandingkan kandungan dua tatasusunan. Ia menyemak sama ada tatasusunan mempunyai bilangan elemen yang sama dan jika elemen yang sepadan adalah sama.
Arrays.equals(array1, array2);
Jika tatasusunan1 dan tatasusunan2 mempunyai kandungan yang sama, hasilnya akan menjadi benar. Jika tidak, ia akan menjadi palsu.
Perbezaan Utama
Perbezaan utama antara equals dan Arrays.equals ialah sama dengan membandingkan rujukan manakala Arrays.equals membandingkan kandungan.
Contoh
Pertimbangkan contoh berikut:
Object[] array1 = new int[] { 1, 2, 3 }; Object[] array2 = new int[] { 1, 2, 3 };
Dalam kes ini, array1.equals(array2) akan menjadi palsu kerana array1 dan array2 ialah dua objek tatasusunan yang berbeza. Walau bagaimanapun, Arrays.equals(array1, array2) akan menjadi benar kerana kandungan array adalah sama.
Object[] array1 = new int[] { 1, 2, 3 }; Object[] array2 = array1;
Dalam kes ini, array1.equals(array2) dan Arrays.equals(array1, array2 ) kedua-duanya akan menjadi benar kerana tatasusunan1 dan tatasusunan2 merujuk kepada objek tatasusunan yang sama.
Atas ialah kandungan terperinci Perbandingan Tatasusunan Java: `equals()` vs. `Arrays.equals()` - Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!