Sobes.tech
Junior

¿Sobre qué campos se debe hacer hashCode si equals nos satisface?

sobes.tech AI

Respuesta de la IA

Si el método equals ya está definido y funciona correctamente, entonces hashCode debe basarse en los mismos campos que participan en la comparación en equals. Esto es necesario para cumplir con el contrato entre equals y hashCode: objetos iguales según equals deben tener el mismo hashCode.

Por ejemplo, si equals compara los campos id y name, entonces hashCode debe calcularse en base a estos mismos campos:

@Override
public int hashCode() {
    return Objects.hash(id, name);
}