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-ი გადაწერთ, რათა შეინარჩუნოთ ამ მეთოდებს შორის კონტრაქტი.