Koja je upotreba metode nadjačavanja jednakosti u Javi?
Koja je upotreba metode nadjačavanja jednakosti u Javi?

Video: Koja je upotreba metode nadjačavanja jednakosti u Javi?

Video: Koja je upotreba metode nadjačavanja jednakosti u Javi?
Video: Марвелов Спајдермен: Мајлс Моралес (Филм) 2024, Travanj
Anonim

Nadjačavanje jednako i hashCode u Java

jednaki () metoda je korišteni za usporedbu objekata za jednakost dok je hashCode korišteni za generiranje cjelobrojnog koda koji odgovara tom objektu

U ovom slučaju, koja je upotreba metode jednakosti u Javi?

The jednaki () metoda uspoređuje dva objekta radi jednakosti i vraća true ako jesu jednak . The jednaki () metoda koji se nalaze u klasi Object koristi operator identiteta (==) za određivanje jesu li dva objekta jednak . Za primitivne tipove podataka to daje ispravan rezultat.

Dodatno, kako nadjačati metodu equals u Javi? U gornjem dijelu koda klasa Person ima nadjačanu metodu equals() koja koristi sljedeći pristup korak po korak:

  1. Ako je referenca na ovaj objekt ista kao referenca na objekt argumenta, vratite true.
  2. Ako je argument null, vratite false.
  3. Ako objekti nisu iz iste klase, vratite false.

U skladu s tim, zašto trebamo nadjačati metodu equals u Javi?

Klasa String nadjačava the metoda jednakosti naslijedio je od klase Object i implementirao logiku za usporedbu dva String objekta znak po znak. Razlog je metoda jednakosti u klasi Object ne referentna jednakost je zato što ne zna raditi ništa drugo.

Koja je upotreba nadjačavanja metode hashCode i equals u Javi?

ako klasa nadjača jednaki , mora nadjačati hashCode . kad su oboje nadjačana , jednaki i hashCode mora koristiti isti skup polja. ako su dva objekta jednak , zatim njihov hashCode vrijednosti moraju biti jednak također. ako je objekt nepromjenjiv, onda hashCode je kandidat za keširanje i lijenu inicijalizaciju.

Preporučeni: