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-ը, որպեսզի ճիշտ աշխատի հավաքածուներում։