Sobes.tech
Junior — Middle

Vai katram objektam Java automātiski tiek piešķirts unikāls hash kods, vai tas tikai uzliek pienākumu izstrādātājam to realizēt pats?

sobes.tech AI

Atbilde no AI

Java katram objektam pēc noklusējuma tiek piešķirts unikāls hash kods, izmantojot metodi hashCode(), kas ir realizēta Object klasē. Izstrādātājam nav obligāti jāievieš šī metode pats, ja standarta realizācija ir piemērota.

Tomēr, ja klase pārdefinē metodi equals(), ieteicams arī pārdefinēt hashCode(), lai nodrošinātu pareizu uzvedību kolekcijās, piemēram, HashMap vai HashSet.

Pārdefinēšanas piemērs:

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