Junior — Middle
Milleks on Java põhiklassi Object sees üle kirjutatud meetod equals()?
sobes.tech AI
Vastus AI-lt
Object klassi equals() meetod on mõeldud objektide võrdlemiseks võrdsuse alusel. Vaikimisi võrdleb see viiteid, st kontrollib, kas kaks muutujat osutavad samale objektile mälus.
Üleskirjutades equals()-i, saate määratleda objektide võrdlemise loogika sisu järgi, näiteks võrreldes objektide välju, et neid pidada võrdseteks, kui need väljad kattuvad.
equals()-i ülekirjutamise näide:
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return field1.equals(other.field1) && field2 == other.field2;
}
See on oluline õigeks toimimiseks kogumite nagu HashSet või HashMap, mis kasutavad equals() elementide unikaalsuse määramiseks.