Junior — Middle
Cum se calculează metoda hashCode într-o data class?
sobes.tech AI
Răspuns de la AI
În Kotlin, data class generează automat metoda hashCode(), care se calculează pe baza tuturor proprietăților declarate în constructorul principal al clasei.
Algoritmul este aproximativ următorul:
- Pentru fiecare proprietate, se apelează propriul
hashCode(). - Aceste coduri hash sunt combinate folosind o formulă specifică (de obicei prin multiplicare cu un număr prim și adunare) pentru a obține codul hash final al obiectului.
Aceasta asigură că două obiecte data class cu aceleași valori ale proprietăților vor avea același hashCode(), ceea ce este important pentru funcționarea corectă în colecții precum HashSet sau HashMap.
Exemplu:
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