Sobes.tech
Junior — Middle

Ինչպե՞ս իրականացնում ես օբյեկտների համեմատությունը հավասարության համար equals մեթոդով։

sobes.tech AI

Պատասխան 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;
}

Կարող եք նաև վերագրել hashCode-ը, երբ վերագրում եք equals-ը, որպեսզի ճիշտ աշխատի հավաքածուներում։