Sobes.tech
Junior — Middle

Ce funcții sau metode din clasa de date primesc automat suprascrierea operațiunilor de bază?

sobes.tech AI

Răspuns de la AI

În Kotlin, la declararea unei clase cu cuvântul cheie data, următoarele metode sunt suprascrise automat:

  • equals() — pentru compararea obiectelor după valoarea proprietăților lor.
  • hashCode() — pentru funcționarea corectă cu colecțiile hash.
  • toString() — pentru o reprezentare convenabilă a obiectului ca șir de caractere.
  • copy() — pentru crearea unei copii a obiectului cu posibilitatea de a modifica unele proprietăți.
  • Funcțiile componentN() — pentru destrukturarea obiectului după proprietăți.

Exemplu:

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user1
println(name) // Alice