Sobes.tech
Back to questions
Junior — Middle
76

Какие компоненты или элементы создаёт автоматически Kotlin-класс, помеченный как data?

Companies where asked
Литрес

Answer from AI

sobes.tech AI

Класс, помеченный в Kotlin как data, автоматически получает следующие компоненты:

  • Метод equals() — сравнение объектов по значению их свойств.
  • Метод hashCode() — вычисление хэш-кода на основе свойств.
  • Метод toString() — строковое представление объекта с перечислением свойств.
  • Метод copy() — создание копии объекта с возможностью изменения некоторых свойств.
  • Декомпозиционные функции (componentN()) — позволяют распаковывать объект на отдельные переменные.

Пример:

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)
val (name, age) = user2
println(name) // Alice
println(age)  // 31