Junior — Middle
Jak metoda equals provádí porovnání dvou objektů v Javě?
sobes.tech AI
Odpověď od AI
Metoda equals v jazyce Java se používá k porovnání dvou objektů z hlediska jejich smysluplné rovnosti. Ve výchozím nastavení, pokud není přepsána, porovnává odkazy (tj. kontroluje, zda objekty odkazují na stejný exemplář).
Při přepsání equals obvykle porovnáváme obsah objektů, například hodnoty jejich polí.
Typická implementace equals zahrnuje:
- Kontrolu rovnosti odkazů (
this == obj) - Kontrolu na
nulla kompatibilitu tříd - Porovnání významných polí objektů
Příklad:
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
Je také důležité přepsat hashCode, když přepisujete equals, aby byl zachován kontrakt mezi těmito metodami.