Sobes.tech
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 әдісін де қайта анықтау ұсынылады, ол коллекциялардағы дұрыс жұмыс істеу үшін қажет.