Junior
Java-ში equals() მეთოდი რა აკეთებს?
sobes.tech AI
პასუხი AI-სგან
Java-да equals() მეთოდი გამოიყენება ობიექტების თანხვედრისთვის. ნაგულისხმევად, Object კლასში, ის შედარებს ობიექტების მითითებებს (ამოწმებს, ორი ცვლადი ერთსა და იმავე ობიექტს მიუთითებს მეხსიერებაში).
კლასები შეიძლება გადაწერონ 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);
}
}