Junior — Middle
Come viene calcolato il metodo hashCode in una data class?
sobes.tech AI
Risposta dell'AI
In Kotlin, la data class genera automaticamente il metodo hashCode(), che viene calcolato in base a tutte le proprietà dichiarate nel costruttore principale della classe.
L'algoritmo è approssimativamente il seguente:
- Per ogni proprietà, viene chiamato il suo
hashCode(). - Questi codici hash vengono combinati usando una formula specifica (solitamente con moltiplicazioni per un numero primo e somma) per ottenere il codice hash finale dell'oggetto.
Questo garantisce che due oggetti data class con gli stessi valori di proprietà abbiano lo stesso hashCode(), il che è importante per il corretto funzionamento in collezioni come HashSet o HashMap.
Esempio:
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