Junior — Middle
Чӣ гуна усули equals муқоиса кардани ду объектро дар Java анҷом медиҳад?
sobes.tech AI
Ҷавоб аз AI
Метод equals дар Java истифода мешавад барои муқоиса кардани ду объект дар бораи баробарии маънавӣ. Ба таври пешфарз, агар он такрор нашуда бошад, он истинодҳоро муқоиса мекунад (яъне, санҷиш мекунад, ки оё объектҳо ба як намуна ишора мекунанд).
Ҳангоми такрор кардани 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-ро такрор мекунед, то шарт байни ин ду методро нигоҳ доред.