Junior — Middle
Comment le calcul de la méthode hashCode est-il effectué dans une data class?
sobes.tech IA
Réponse de l'IA
En Kotlin, la data class génère automatiquement la méthode hashCode(), qui est calculée en fonction de toutes les propriétés déclarées dans le constructeur principal de la classe.
L'algorithme est approximativement le suivant :
- Pour chaque propriété, son propre
hashCode()est appelé. - Ces codes de hachage sont combinés à l'aide d'une formule spécifique (généralement en utilisant la multiplication par un nombre premier et l'addition) pour obtenir le code de hachage final de l'objet.
Cela garantit que deux objets data class avec les mêmes valeurs de propriétés auront le même hashCode(), ce qui est important pour le bon fonctionnement dans des collections comme HashSet ou HashMap.
Exemple :
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