Rumah >Java >javaTutorial >Tatasusunan Java: equals() vs. Arrays.equals() – Bila hendak menggunakan Which?

Tatasusunan Java: equals() vs. Arrays.equals() – Bila hendak menggunakan Which?

DDD
DDDasal
2024-12-22 08:49:44199semak imbas

Java Arrays: equals() vs. Arrays.equals() – When to Use Which?

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

  • Rujukan Perbandingan: Gunakan sama untuk menentukan sama ada dua tatasusunan adalah objek yang sama memori.
  • Perbandingan Kandungan: Gunakan Arrays.equals untuk membandingkan kandungan dua tatasusunan, tidak kira sama ada ia adalah objek yang sama.

Pertimbangan Tambahan

  • Tatasusunan jenis primitif mempunyai berbeza tingkah laku daripada tatasusunan objek. Untuk tatasusunan primitif, equals dan Arrays.equals melakukan perbandingan kandungan yang sama.
  • Menggunakan array.toString() secara langsung mungkin tidak memberikan output yang diingini. Sebaliknya, gunakan Arrays.toString(array) untuk perwakilan komprehensif kandungan tatasusunan.

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!

Kenyataan:
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