Sobes.tech
Junior

Javaда equals() ыкмасы эмне кылат?

sobes.tech AI

AIден жооп

Javaда equals() методу объекттерди барабарлыкка салыштыруу үчүн колдонулат. Дефолт түрдө, Object класста, ал объекттердин шилтемелерин салыштырат (эки өзгөрмө бирдей эс тутум объектине көрсөтүп жатканына текшерет).

Класстар equals() методун кайра аныктап, маанилер боюнча салыштыруу логикасын ишке ашыра алышат. Бул деген, эки башка объекттер, эгер алардын талаалары же абалы эквиваленттүү болсо, бирдей деп эсептелет.

equals() кайра аныктоо учурунда, hashCode() методун да кайра аныктоо маанилүү, келишимди сактоо үчүн: эгер эки объект equals() боюнча бирдей болсо, алардын hashCode() маанилери да бирдей болушу керек.

Мисал кайра аныктоо:

public class Person {
    private String name;
    private int age;

    // конструктор жана геттерлер

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age &&
               Objects.equals(name, person.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }
}