Sobes.tech
Junior — Middle

Da li svakom objektu u Javi automatski dodeljuje jedinstveni hash kod, ili to samo obavezuje programera da ga implementira sam?

sobes.tech АИ

Одговор од АИ

U Javi, svakom objektu po defaultu se dodeljuje jedinstveni hash kod putem metode hashCode(), koja je implementirana u klasi Object. Programer nije obavezan da sam implementira ovu metodu ako standardna implementacija odgovara.

Međutim, ako klasa redefiniše metodu equals(), preporučuje se takođe redefinisanje hashCode() kako bi se obezbedilo pravilno ponašanje u kolekcijama poput HashMap ili HashSet.

Primer redefinisanja:

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