Sobes.tech
Junior — Middle

როგორ ახორციელებს მეთოდი equals ორი ობიექტის შედარებას Java-ში?

sobes.tech AI

პასუხი AI-სგან

Java-да equals მეთოდი გამოიყენება ორი ობიექტის სემანტიკური თანხვედრის შესამოწმებლად. სტანდარტულად, თუ ის არ არის გადაწერილი, ის შედარებს მითითებებს (ანუ, ამოწმებს, მიუთითებენ თუ არა ობიექტები ერთსა და იმავე ნიმუშზე).

equals-ის გადაწერასთან ერთად, ჩვეულებრივ, შედარება ხდება ობიექტების შიგთავსზე, მაგალითად, ველების მნიშვნელობებზე.

ტიპიური equals რეალიზაცია მოიცავს:

  • მითითებების თანხვედრის შემოწმებას (this == obj)
  • null-ის და კლასების შესაბამისობის შემოწმებას
  • ობიექტების მნიშვნელოვანი ველების შედარებას

მაგალითი:

@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;
}

ასევე მნიშვნელოვანია, რომ hashCode-ის გადაწერა, როდესაც equals-ი გადაწერთ, რათა შეინარჩუნოთ ამ მეთოდებს შორის კონტრაქტი.