Sobes.tech
Junior

Milliste väljade põhjal tuleb teha hashCode, kui equals meid rahuldab?

sobes.tech AI

Vastus AI-lt

Kui meetod equals on juba määratletud ja töötab õigesti, siis peab hashCode põhineda samadel väljadel, mis osalevad võrdluses equalsis. See on vajalik, et järgida lepingut vahel equals ja hashCode: võrdsed objektid equalsis peavad omama sama hashCode.

Näiteks, kui equals võrdleb välju id ja name, siis peab hashCode arvutama nende samade väljade põhjal:

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