Milleks on Javas võrdsete meetodi alistamise kasu?
Milleks on Javas võrdsete meetodi alistamise kasu?

Video: Milleks on Javas võrdsete meetodi alistamise kasu?

Video: Milleks on Javas võrdsete meetodi alistamise kasu?
Video: Täitke Nextjs-kursus – õppige Nextjs-i 2 tunniga! | Reage SSR + ajakoodid 2024, November
Anonim

Alistamine võrdub ja hashCode sisse Java

võrdub () meetod on kasutatud Objektide võrdlemiseks võrdsuse osas, samas kui hashCode on kasutatud et genereerida sellele objektile vastav täisarvuline kood

Milleks on Javas võrdsete meetodite kasutamine?

The võrdub () meetod võrdleb kahte võrdsuse objekti ja tagastab tõene, kui nad on võrdne . The võrdub () meetod sätestatud klassis Object kasutab identiteedioperaator (==), et teha kindlaks, kas kaks objekti on võrdne . Primitiivsete andmetüüpide puhul annab see õige tulemuse.

Lisaks, kuidas alistada Javas võrdsuse meetod? Ülaltoodud koodiklassis Isik on alistanud võrdub()-meetodi, mis kasutas järgmist samm-sammult lähenemist:

  1. Kui viide sellele objektile on sama, mis viide argumendiobjektile, tagastab tõene.
  2. Kui argument on null, tagastab vale.
  3. Kui objektid ei ole samast klassist, tagastage false.

Seega, miks peame Javas alistama võrdse meetodi?

Stringi klass alistab a võrdub meetod see pärineb klassist Object ja rakendas loogikat, et võrrelda kahte Stringi objekti tähemärgi haaval. Põhjuseks võrdub meetod klassis Object viitab võrdsus, kuna ta ei tea, kuidas midagi muud teha.

Mis kasu on Javas meetodi hashCode ja equals alistamisest?

kui klass alistab võrdub , see peab räsikoodi alistamine . kui nad on mõlemad tühistatud , võrdub ja räsikood peab kasutada sama väljade komplekt. kui kaks objekti on võrdne , siis nende räsikood väärtused peavad olema võrdne samuti. kui objekt on muutumatu, siis räsikood on vahemällu salvestamise ja laiska initsialiseerimise kandidaat.

Soovitan: