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

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

Video: Koja je upotreba metode nadjačavanja equals u Javi?
Video: How to use Stable Diffusion X-Large (SDXL) with Automatic1111 Web UI on RunPod - Easy Tutorial 2024, April
Anonim

Poništi jednako i hashCode u Java

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

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

The jednaki () metoda uspoređuje dva objekta radi jednakosti i vraća true ako jesu jednaka . The jednaki () metoda obezbeđeno u klasi Object koristi operator identiteta (==) za određivanje jesu li dva objekta jednaka . Za primitivne tipove podataka, ovo daje ispravan rezultat.

Dodatno, kako nadjačati metodu equals u Javi? U gornjem dijelu koda klasa Person ima nadjačanu metodu equals(), koja je koristila 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?

String klasa nadjačava the metoda jednakosti naslijedio je od Object klase i implementirao logiku za upoređivanje dva String objekta karakter po karakter. Razlog je metoda jednakosti u klasi Object ne referenca jednakost je zato što ne zna da radi ništa drugo.

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

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

Preporučuje se: