Apakah kegunaan kaedah equals overriding di Jawa?
Apakah kegunaan kaedah equals overriding di Jawa?

Video: Apakah kegunaan kaedah equals overriding di Jawa?

Video: Apakah kegunaan kaedah equals overriding di Jawa?
Video: Belajar Java [OOP] - 19 - Overriding Methods (inheritance) 2024, April
Anonim

Override sama dan kod cincang masuk Jawa

sama () kaedah ialah digunakan untuk membandingkan Objek untuk kesamaan manakala hashCode adalah digunakan untuk menjana kod integer yang sepadan dengan objek itu

Di sini, apakah kegunaan kaedah sama di Jawa?

The sama () kaedah membandingkan dua objek untuk kesamaan dan mengembalikan benar jika betul sama rata . The sama () kaedah disediakan dalam kelas Objek kegunaan pengendali identiti (==) untuk menentukan sama ada dua objek adalah sama rata . Untuk jenis data primitif, ini memberikan hasil yang betul.

Selain itu, bagaimanakah anda mengatasi kaedah sama di Jawa? Dalam sekeping kelas kod di atas Orang mempunyai kaedah equals() yang diganti, yang mengambil pendekatan langkah demi langkah berikut:

  1. Jika rujukan kepada objek ini adalah sama dengan rujukan kepada objek argumen, kembalikan benar.
  2. Jika hujah adalah batal, kembalikan palsu.
  3. Jika objek bukan dari kelas yang sama, kembalikan false.

Oleh itu, mengapa kita perlu mengatasi kaedah sama di Jawa?

Kelas String mengatasi yang kaedah sama ia diwarisi daripada kelas Objek dan melaksanakan logik untuk membandingkan dua objek String aksara mengikut watak. Sebabnya kaedah sama dalam kelas Objek melakukan kesamaan rujukan adalah kerana ia tidak tahu bagaimana untuk melakukan apa-apa lagi.

Apakah kegunaan kod hash dan kaedah yang sama dalam Java?

jika kelas menimpa sama , ia mesti mengatasi hashCode . apabila mereka berdua ditindih , sama dan Kod cincang mesti guna set medan yang sama. jika dua objek adalah sama rata , kemudian mereka Kod cincang nilai mestilah sama rata juga. jika objek itu tidak berubah, maka Kod cincang adalah calon untuk caching dan pemula malas.

Disyorkan: