Junior — Middle
88
Объектілердің теңдігін салыстыруды equals әдісі арқылы қалай жүзеге асырасың?
AI-дан жауап
sobes.tech AI
Java-да объектілерді дұрыс салыстыру үшін equals әдісін өз класыңызда қайта анықтау керек, ол барлық маңызды өрістерді ескере отырып, объектілердің теңдігін анықтайды. Жалпы ұсыныстар:
- Объектінің
nullемес екенін тексеру. - Объектілердің бір класта екенін тексеру.
- Теңдікке әсер ететін барлық өрістерді салыстыру.
Person класы үшін мысал жүзеге асыру:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // сілтемелік теңдікке тексеру
if (obj == null || getClass() != obj.getClass()) return false; // null және класс тексеру
Person other = (Person) obj;
return Objects.equals(name, other.name) && age == other.age;
}
Сонымен қатар, equals қайта анықталғанда hashCode әдісін де қайта анықтау ұсынылады, ол коллекциялардағы дұрыс жұмыс істеу үшін қажет.