Junior — Middle
Kaip metodas equals atlieka dviejų objektų palyginimą Java?
sobes.tech AI
Atsakymas iš AI
Java equals metodas naudojamas lyginti du objektus jų prasmingam lygybei. Pagal numatytuosius nustatymus, jei jis nėra perrašytas, jis lygina nuorodas (t.y., tikrina, ar objektai nurodo tą patį egzempliorių).
Perrašant equals, paprastai lyginamas objektų turinys, pvz., laukų reikšmės.
Tipinė equals įgyvendinimo dalis apima:
- Nuorodų lygybės patikrinimą (
this == obj) nullir klasių suderinamumo patikrinimą- Svarbių objektų laukų palyginimą
Pavyzdys:
@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;
}
Taip pat svarbu perrašyti hashCode, kai perrašote equals, kad būtų išlaikytas šių metodų kontraktas.