Sobes.tech
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