Junior
Na základe ktorých polí je potrebné urobiť hashCode, ak nám vyhovuje equals?
sobes.tech AI
Odpoveď od AI
Ak je metóda equals už definovaná a funguje správne, potom by hashCode mal byť odvodený od tých istých polí, ktoré sa podieľajú na porovnaní v equals. To je nevyhnutné na dodržanie kontraktu medzi equals a hashCode: objekty, ktoré sú podľa equals rovné, by mali mať rovnaký hashCode.
Napríklad, ak equals porovnáva polia id a name, potom by hashCode mal byť vypočítaný na základe tých istých polí:
@Override
public int hashCode() {
return Objects.hash(id, name);
}