Equals vs. Arrays.equals dalam Java
Apabila berurusan dengan tatasusunan dalam Java, fahami perbezaan antara kaedah yang sama dan Arrays.equals adalah penting untuk memastikan tatasusunan yang tepat perbandingan.
array1.equals(array2)
Ungkapan ini membandingkan kesamaan rujukan kedua-dua tatasusunan. Dalam erti kata lain, ia menyemak sama ada array1 dan array2 adalah objek tatasusunan yang sama, tanpa mengira kandungannya. Walaupun tingkah laku ini mungkin sejajar dengan jangkaan, adalah penting untuk ambil perhatian bahawa ia melakukan perbandingan yang cetek, membandingkan alamat memori tatasusunan berbanding nilai sebenar mereka.
Arrays.equals(array1, array2)
Sebaliknya, Arrays.equals(array1, array2) melakukan perbandingan yang mendalam bagi kandungan tatasusunan. Ia berulang melalui setiap elemen dalam kedua-dua tatasusunan, membandingkannya untuk kesamaan. Kaedah ini mengembalikan benar jika semua elemen yang sepadan adalah sama, jika tidak ia mengembalikan palsu.
Sebagai contoh, pertimbangkan tatasusunan berikut:
int[] array1 = {1, 2, 3}; int[] array2 = {1, 2, 3};
Menggunakan array1.equals(array2) akan mengembalikan false kerana ia adalah objek tatasusunan yang berbeza, manakala Arrays.equals(array1, array2) akan kembali benar kerana ia mempunyai yang sama kandungan.
Begitu juga, kaedah toString() yang digunakan pada tatasusunan mungkin tidak memberikan output yang diingini. Pertimbangkan kod ini:
int[] array3 = {4, 5, 6}; System.out.println(array3.toString());
Ini akan mencetak "[I@1873311", yang mewakili alamat memori tatasusunan3. Sebaliknya, menggunakan Arrays.toString(array3) akan mengeluarkan "[4, 5, 6]", memberikan gambaran yang lebih bermaklumat tentang kandungan array.
Memahami perbezaan antara equals, Arrays.equals, dan toString( ) adalah penting untuk pengendalian tatasusunan yang tepat dan cekap dalam Java.
Atas ialah kandungan terperinci Bagaimanakah `equals()` dan `Arrays.equals()` Berbeza Apabila Membandingkan Array dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!