Junior — Middle
Hoe wordt de hashCode-methode berekend in een data class?
sobes.tech AI
Antwoord van AI
In Kotlin genereert de data class automatisch de methode hashCode(), die wordt berekend op basis van alle eigenschappen die in de primaire constructor van de klasse zijn gedeclareerd.
Het algoritme is ongeveer als volgt:
- Voor elke eigenschap wordt de eigen
hashCode()aangeroepen. - Deze hash-codes worden gecombineerd met behulp van een specifieke formule (meestal door vermenigvuldiging met een priemgetal en optelling) om de uiteindelijke hash-code van het object te verkrijgen.
Dit zorgt ervoor dat twee data class-objecten met dezelfde eigenschapswaarden dezelfde hashCode() hebben, wat belangrijk is voor correct functioneren in collecties zoals HashSet of HashMap.
Voorbeeld:
data class User(val id: Int, val name: String)
val user1 = User(1, "Alice")
val user2 = User(1, "Alice")
println(user1.hashCode() == user2.hashCode()) // true