Rumah > Java > javaTutorial > Bagaimanakah `equals()` dan `Arrays.equals()` Berbeza Apabila Membandingkan Array dalam Java?

Bagaimanakah `equals()` dan `Arrays.equals()` Berbeza Apabila Membandingkan Array dalam Java?

Mary-Kate Olsen
Lepaskan: 2024-12-26 02:08:09
asal
400 orang telah melayarinya

How Do `equals()` and `Arrays.equals()` Differ When Comparing Arrays in Java?

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};
Salin selepas log masuk

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());
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan