Apa gunanya mengganti metode equals di Jawa?
Apa gunanya mengganti metode equals di Jawa?

Video: Apa gunanya mengganti metode equals di Jawa?

Video: Apa gunanya mengganti metode equals di Jawa?
Video: Overriding the Object equals Method - Java Override Example - Comparing Objects - APPFICIAL 2024, November
Anonim

Ganti sama dengan dan kode hash di Jawa

sama dengan () metode adalah digunakan untuk membandingkan Objek untuk kesetaraan sementara kode hash adalah digunakan untuk menghasilkan kode integer yang sesuai dengan objek itu

Di sini, apa gunanya metode equals di Jawa?

NS sama dengan () metode membandingkan dua objek untuk kesetaraan dan mengembalikan true jika mereka setara . NS sama dengan () metode disediakan di kelas Object menggunakan operator identitas (==) untuk menentukan apakah dua objek adalah setara . Untuk tipe data primitif, ini memberikan hasil yang benar.

Selain itu, bagaimana Anda mengganti metode equals di Java? Dalam potongan kelas kode di atas, Person memiliki metode equals() yang diganti, yang mengambil pendekatan langkah demi langkah berikut:

  1. Jika referensi ke objek ini sama dengan referensi ke objek argumen, kembalikan true.
  2. Jika argumennya null, kembalikan false.
  3. Jika objek tidak berasal dari kelas yang sama, kembalikan false.

Oleh karena itu, mengapa kita perlu mengganti metode equals di Java?

Kelas String menimpa NS sama dengan metode itu diwarisi dari kelas Object dan mengimplementasikan logika untuk membandingkan dua objek String karakter demi karakter. Alasan itu sama dengan metode di kelas Object tidak referensi kesetaraan adalah karena tidak tahu bagaimana melakukan hal lain.

Apa gunanya mengganti metode hashCode dan equals di Jawa?

jika kelas menimpa sama dengan , itu harus ganti kode hash . ketika mereka berdua diganti , sama dengan dan Kode hash harus menggunakan kumpulan bidang yang sama. jika dua benda adalah setara , lalu mereka Kode hash nilai harus setara demikian juga. jika objek tidak dapat diubah, maka Kode hash adalah kandidat untuk caching dan inisialisasi malas.

Direkomendasikan: