Java-da overriding equals metodunun istifadəsi nədir?
Java-da overriding equals metodunun istifadəsi nədir?

Video: Java-da overriding equals metodunun istifadəsi nədir?

Video: Java-da overriding equals metodunun istifadəsi nədir?
Video: Java dərsləri - toString() metodu haqqında 2024, Noyabr
Anonim

Üstündən yazmaq bərabərdir və hashCode daxil edin Java

bərabərdir () üsul edir istifadə olunur hashCode olduqda obyektləri bərabərlik üçün müqayisə etmək istifadə olunur həmin obyektə uyğun tam ədəd kodu yaratmaq

Burada Java-da bərabər metodun istifadəsi nədir?

The bərabərdir () üsul bərabərlik üçün iki obyekti müqayisə edir və əgər varsa doğru qaytarır bərabərdir . The bərabərdir () üsul Obyekt sinfində verilir istifadə edir iki obyektin olub olmadığını müəyyən etmək üçün eyniləşdirmə operatoru (==). bərabərdir . Primitiv məlumat növləri üçün bu düzgün nəticə verir.

Bundan əlavə, Java-da bərabər metodu necə ləğv edirsiniz? Yuxarıdakı kod sinifində Person aşağıdakı addım-addım yanaşmadan istifadə edərək ləğv edilmiş equals() metoduna malikdir:

  1. Bu obyektə istinad arqument obyektinə istinadla eynidirsə, true qaytarın.
  2. Arqument null olarsa, yalanı qaytarın.
  3. Obyektlər eyni sinifdən deyilsə, false qaytarın.

Buna görə niyə Java-da bərabər metodu ləğv etməliyik?

String sinfi üstələyir the metoduna bərabərdir O, Object sinfindən miras qalmış və iki Simli obyektin xarakterini xarakterə görə müqayisə etmək üçün məntiq tətbiq etmişdir. Səbəbi isə metoduna bərabərdir Obyekt sinfində bərabərliyə istinad edir, çünki o, başqa bir şeyi necə edəcəyini bilmir.

Java-da hashCode and equals metodunu ləğv etmək nədir?

bir sinif ləğv edərsə bərabərdir , olmalıdır hashCode-u ləğv edin . ikisi olanda ləğv edildi , bərabərdir və hashCode lazımdır istifadə edin eyni sahələr dəsti. iki obyekt olarsa bərabərdir , sonra onların hashCode dəyərlər olmalıdır bərabərdir həmçinin. əgər obyekt dəyişməzdirsə, onda hashCode keşləmə və tənbəl başlatma üçün namizəddir.

Tövsiyə: