Mitä hyötyä overriding equals -menetelmästä on Javassa?
Mitä hyötyä overriding equals -menetelmästä on Javassa?

Video: Mitä hyötyä overriding equals -menetelmästä on Javassa?

Video: Mitä hyötyä overriding equals -menetelmästä on Javassa?
Video: Создание аннотации в java [Java Annotations | Reflection api] 2024, Huhtikuu
Anonim

Ohitus on yhtä suuri ja hashCode sisään Java

on yhtä suuri () menetelmä On käytetty vertailla objektien tasa-arvoa, kun hashCode on käytetty luodaksesi kyseistä objektia vastaavan kokonaislukukoodin

Mikä tässä on yhtäläisyysmenetelmän käyttö Javassa?

The on yhtä suuri () menetelmä vertaa kahta objektia tasa-arvoon ja palauttaa tosi, jos ne ovat yhtä suuri . The on yhtä suuri () menetelmä tarjotaan Object-luokassa käyttää identiteettioperaattori (==) määrittääksesi, onko kaksi objektia yhtä suuri . Primitiivisille tietotyypeille tämä antaa oikean tuloksen.

Lisäksi kuinka ohitat equals-menetelmän Javassa? Yllä olevassa koodiluokassa Henkilöllä on ohitettu equals()-metodi, joka käytti seuraavan vaiheittaisen lähestymistavan:

  1. Jos viittaus tähän objektiin on sama kuin viittaus argumenttiobjektiin, palauta tosi.
  2. Jos argumentti on tyhjä, palauta false.
  3. Jos objektit eivät ole samasta luokasta, palauta false.

Näin ollen, miksi meidän täytyy ohittaa equals -menetelmä Javassa?

String-luokka ohittaa the vastaa menetelmää se peri Object-luokasta ja toteutti logiikan vertaamaan kahta merkkijono-objektia merkki merkiltä. Syynä on vastaa menetelmää Object-luokassa viittaa tasa-arvoon, koska se ei osaa tehdä mitään muuta.

Mitä hyötyä on ohittavasta hashCode- ja equals-menetelmästä Javassa?

jos luokka ohittaa on yhtä suuri , sen täytyy ohittaa hashCode . kun he ovat molemmat ohitettu , on yhtä suuri ja hash koodin on pakko käyttää samat kentät. jos kaksi esinettä on yhtä suuri , sitten heidän hash koodin arvot pitää olla yhtä suuri yhtä hyvin. jos objekti on muuttumaton, niin hash koodin on ehdokas välimuistiin ja laiska alustus.

Suositeltava: