equals vs. Arrays.equals: Perbandingan Kaedah Perbandingan Tatasusunan dalam Java
Di Java, membandingkan tatasusunan boleh menjadi tugas yang mudah. Walau bagaimanapun, terdapat perbezaan yang ketara antara menggunakan kaedah sama dengan dan kaedah Arrays.equals, yang boleh membawa kepada hasil yang tidak dijangka.
equals vs. Arrays.equals
The kaedah equals diwarisi daripada kelas Objek dan digunakan untuk membandingkan rujukan kepada objek. Apabila digunakan pada tatasusunan, array1.equals(array2) akan kembali benar jika dan hanya jika array1 dan array2 adalah tatasusunan yang sama, iaitu, mereka berkongsi lokasi memori yang sama.
Sebaliknya, Arrays.equals (array1, array2) secara khusus membandingkan kandungan tatasusunan. Ia kembali benar jika tatasusunan mempunyai panjang yang sama dan elemen yang sepadan pada setiap indeks adalah sama.
Contoh:
Pertimbangkan kod berikut:
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
Dalam kes ini, tatasusunan1 dan tatasusunan2 ialah tatasusunan berbeza dengan kandungan yang sama. Oleh itu, array1.equals(array2) mengembalikan false, manakala Arrays.equals(array1, array2) mengembalikan true.
Use Cases
Pertimbangan Tambahan
Atas ialah kandungan terperinci Tatasusunan Java: equals() vs. Arrays.equals() – Bila hendak menggunakan Which?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!