Sobes.tech
Junior — Middle

Fiecărui obiect în Java i se atribuie automat un cod hash unic, sau acest lucru doar obligă dezvoltatorul să îl implementeze singur?

sobes.tech AI

Răspuns de la AI

În Java, fiecărui obiect i se atribuie implicit un cod hash unic prin metoda hashCode(), care este implementată în clasa Object. Dezvoltatorul nu este obligat să implementeze această metodă singur dacă implementarea standard este potrivită.

Cu toate acestea, dacă o clasă suprascrie metoda equals(), se recomandă de asemenea să suprascrie hashCode() pentru a asigura comportamentul corect în colecții precum HashMap sau HashSet.

Exemplu de suprascriere:

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