/ / Prečo používať metódu .equals (Object) pre objekty bez reťazca? [duplikát] - java, objekt, rovná sa

Prečo používať metódu .equals (Object) pre non-string objekty? [duplicate] - java, objekt, sa rovná

Prečo by niekto používal metódu .equals (Object) namiesto „==“ pre objekty bez reťazca? Len preto, že môžeme prepísať .equals (Object)?

odpovede:

4 pre odpoveď č. 1

"==" porovnáva identitu týchto dvoch objektov(adresa pamäte). Ak máte dva objekty, majú rovnaké priezvisko, vek, pohlavie ..., potom by mali byť tou istou osobou. Keďže ste však vo svojom kóde vytvorili dva objekty osobne, pri použití znaku „==“ dospejete k záveru, že ide o dve rôzne osoby. Ale ak potlačíte „rovná sa“, môžete dospieť k záveru, že sú to rovnaká osoba.

Pozrite sa na „Efektívnu javu“ (jedna z najlepších kníh Java, ak nie je najlepšia). Existuje niekoľko dobrých vecí na to.