Junior — Middle
¿Cómo se realiza el cálculo del método hashCode en una data class?
sobes.tech AI
Respuesta de la IA
En Kotlin, la data class genera automáticamente el método hashCode(), que se calcula en función de todas las propiedades declaradas en el constructor principal de la clase.
El algoritmo es aproximadamente el siguiente:
- Para cada propiedad, se llama a su propio
hashCode(). - Estos códigos hash se combinan mediante una fórmula específica (generalmente usando multiplicación por un número primo y suma) para obtener el código hash final del objeto.
Esto asegura que dos objetos data class con los mismos valores de propiedades tengan el mismo hashCode(), lo cual es importante para el correcto funcionamiento en colecciones como HashSet o HashMap.
Ejemplo:
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