Junior — Middle
Kako se vrši izračun metode hashCode u data class?
sobes.tech АИ
Одговор од АИ
У Kotlin-u, data class автоматски генерише метод hashCode(), који се израчунава на основу свих својстава проглашених у главном конструктору класе.
Алгоритам је приближно следећи:
- За сваку својство се позива његов
hashCode(). - Ови хеш кодови се комбинују помоћу одређене формуле (обично коришћењем множења према простом броју и сабирања) да би се добио коначни хеш код објекта.
Ово обезбеђује да два објекта data class са истим вредностима својстава имају исти hashCode(), што је важно за правилно функционисање у колекцијама као што су HashSet или HashMap.
Пример:
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