Sobes.tech
Junior — Middle

Minden objektumnak Java-ban automatikusan jár egy egyedi hash-kód, vagy ez csak arra kötelezi a fejlesztőt, hogy saját maga valósítsa meg?

sobes.tech MI

Válasz az MI-től

Java-ban minden objektum alapértelmezés szerint egyedi hash-kódot kap a hashCode() metóduson keresztül, amely az Object osztályban van megvalósítva. A fejlesztő nem köteles ezt a metódust saját maga megvalósítani, ha az alapértelmezett megvalósítás megfelel.

Azonban, ha egy osztály felülírja az equals() metódust, akkor ajánlott a hashCode()-ot is felülírni, hogy helyes viselkedést biztosítson olyan kollekciókban, mint a HashMap vagy a HashSet.

Felülírás példája:

@Override
public int hashCode() {
    return Objects.hash(field1, field2);
}