Wat is die gebruik van die oorheersende gelyke-metode in Java?
Wat is die gebruik van die oorheersende gelyke-metode in Java?

Video: Wat is die gebruik van die oorheersende gelyke-metode in Java?

Video: Wat is die gebruik van die oorheersende gelyke-metode in Java?
Video: Возведение новых перегородок в квартире. Переделка хрущевки от А до Я. #3 2024, Desember
Anonim

Ignoreer gelyk en hashCode in Java

gelyk is () metode is gebruik word om Objekte vir gelykheid te vergelyk terwyl hashCode is gebruik word om 'n heelgetalkode te genereer wat ooreenstem met daardie voorwerp

Hiervan, wat is die gebruik van gelyke-metode in Java?

Die gelyk is () metode vergelyk twee voorwerpe vir gelykheid en gee waar as hulle is gelyk . Die gelyk is () metode verskaf in die Object-klas gebruike die identiteitsoperateur (==) om te bepaal of twee voorwerpe is gelyk . Vir primitiewe datatipes gee dit die korrekte resultaat.

Boonop, hoe ignoreer jy die gelyke-metode in Java? In bogenoemde stukkie kodeklas het Persoon 'n ignoreerde equals()-metode, wat die volgende stap-vir-stap benadering geneem het:

  1. As die verwysing na hierdie objek dieselfde is as die verwysing na die argumentobjek, gee true terug.
  2. As die argument nul is, gee vals terug.
  3. As die voorwerpe nie van dieselfde klas is nie, gee false terug.

Gevolglik, hoekom moet ons die gelyke-metode in Java ignoreer?

Die String klas oorheers die is gelyk aan metode dit het van die Object-klas geërf en logika geïmplementeer om die twee String-objekte karakter vir karakter te vergelyk. Die rede die is gelyk aan metode in die Object-klas is verwysingsgelykheid omdat dit nie weet hoe om enigiets anders te doen nie.

Wat is die gebruik van die oorheersende hashCode en gelyke metode in Java?

as 'n klas oorheers gelyk is , dit moet ignoreer hashCode . wanneer hulle albei is oorskryf , gelyk is en hashkode moet gebruik dieselfde stel velde. as twee voorwerpe is gelyk , dan hul hashkode waardes moet wees gelyk ook. as die voorwerp onveranderlik is, dan hashkode is 'n kandidaat vir caching en lui inisialisering.

Aanbeveel: