Sobes.tech
Junior — Middle

Každému objektu v Jave sa automaticky priraďuje jedinečný hash kód, alebo to len núti vývojára, aby ho implementoval sám?

sobes.tech AI

Odpoveď od AI

V Jave, každému objektu je štandardne pridelený jedinečný hash kód prostredníctvom metódy hashCode(), ktorá je implementovaná v triede Object. Vývojár nie je povinný implementovať túto metódu sám, ak štandardná implementácia vyhovuje.

Avšak, ak trieda prepíše metódu equals(), odporúča sa tiež prepísať hashCode(), aby sa zabezpečilo správne správanie v kolekciách ako HashMap alebo HashSet.

Príklad prepísania:

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