Java'da overriding equals usuli qanday qo'llaniladi?
Java'da overriding equals usuli qanday qo'llaniladi?

Video: Java'da overriding equals usuli qanday qo'llaniladi?

Video: Java'da overriding equals usuli qanday qo'llaniladi?
Video: Создание аннотации в java [Java Annotations | Reflection api] 2024, Aprel
Anonim

Tenglarni bekor qilish va hashCode Java

teng () usuli hisoblanadi ishlatilgan hashCode bo'lganda ob'ektlarni tenglik uchun solishtirish ishlatilgan ushbu ob'ektga mos keladigan butun son kodini yaratish

Java'da teng usulidan foydalanish nima?

The teng () usuli tenglik uchun ikkita ob'ektni taqqoslaydi va agar ular rost bo'lsa, uni qaytaradi teng . The teng () usuli Object sinfida taqdim etilgan foydalanadi ikkita ob'ekt mavjudligini aniqlash uchun identifikatsiya operatori (==). teng . Primitiv ma'lumotlar turlari uchun bu to'g'ri natija beradi.

Bunga qo'shimcha ravishda, Java'da equals usulini qanday bekor qilasiz? Yuqoridagi kod sinfida Person bekor qilingan teng() usuliga ega bo'lib, u quyidagi bosqichma-bosqich yondashuvni qo'llagan:

  1. Agar ushbu ob'ektga havola argument ob'ektiga havola bilan bir xil bo'lsa, true ni qaytaring.
  2. Argument null bo'lsa, false qaytaring.
  3. Agar ob'ektlar bir sinfdan bo'lmasa, false ni qaytaring.

Shunga ko'ra, nima uchun Java'da tenglash usulini bekor qilishimiz kerak?

String sinfi bekor qiladi the teng usuli u Object sinfidan meros bo'lib, ikkita String ob'ektini belgilar bo'yicha taqqoslash uchun mantiqni amalga oshirdi. Sababi teng usuli Ob'ekt sinfida tenglikka murojaat qiladi, chunki u boshqa narsani qanday qilishni bilmaydi.

Java'da hashCode and equals usulini bekor qilish nimadan iborat?

agar sinf bekor qilinsa teng , kerak hashCode-ni bekor qilish . ikkalasi ham bo'lganda bekor qilingan , teng va hashCode kerak foydalanish bir xil maydonlar to'plami. agar ikkita ob'ekt bo'lsa teng , keyin ularning hashCode qadriyatlar bo'lishi kerak teng shuningdek. agar ob'ekt o'zgarmas bo'lsa, u holda hashCode keshlash va dangasa ishga tushirish uchun nomzoddir.

Tavsiya: