Jaké je použití metody overriding equals v Javě?
Jaké je použití metody overriding equals v Javě?

Video: Jaké je použití metody overriding equals v Javě?

Video: Jaké je použití metody overriding equals v Javě?
Video: Overriding the Object equals Method - Java Override Example - Comparing Objects - APPFICIAL 2024, Duben
Anonim

Přepsat se rovná a hashCode v Jáva

rovná se () metoda je použitý pro porovnání objektů pro rovnost, zatímco hashCode je použitý vygenerovat celočíselný kód odpovídající tomuto objektu

Jaké je použití metody rovná se v Javě?

The rovná se () metoda porovná dva objekty z hlediska rovnosti a vrátí hodnotu true, pokud jsou rovnat se . The rovná se () metoda poskytované ve třídě Object používá operátor identity (==), který určí, zda jsou dva objekty rovnat se . U primitivních datových typů to dává správný výsledek.

Navíc, jak přepíšete metodu rovná se v Javě? Ve výše uvedené části kódu třídy Person má přepsanou metodu equals(), která používá následující postupný přístup:

  1. Pokud je odkaz na tento objekt stejný jako odkaz na objekt argument, vrátí true.
  2. Pokud je argument null, vrátí hodnotu false.
  3. Pokud objekty nejsou ze stejné třídy, vraťte false.

Proč tedy potřebujeme v Javě přepsat metodu rovná se?

Třída String přepíše a rovná se metoda zdědil z třídy Object a implementoval logiku pro porovnání dvou objektů String znak po znaku. Důvodem je rovná se metoda ve třídě Object odkazuje rovnost je proto, že neví, jak dělat nic jiného.

Jaké je použití přepisování metody hashCode a equals v Javě?

pokud třída přepíše rovná se , musí přepsat hashCode . když jsou oba přepsáno , rovná se a hashCode musí použití stejná sada polí. jsou-li dva předměty rovnat se , pak jejich hashCode hodnoty musí být rovnat se také. pokud je objekt neměnný, pak hashCode je kandidát na ukládání do mezipaměti a línou inicializaci.

Doporučuje: