Назад к вопросам
Junior
84
questionbank

Для чего предназначен data class в языке Kotlin?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Data class в Kotlin предназначен для создания классов, основная цель которых — хранение данных. Компилятор автоматически генерирует для них полезные стандартные методы:

  • equals() и hashCode(): Для сравнения объектов по их свойствам.
  • toString(): Представляет объект в виде строки, отображающей его свойства и их значения.
  • componentN(): Для деструктурирующего объявления (например, val (name, age) = user).
  • copy(): Создает копию объекта, возможно, с измененными значениями некоторых свойств.

Пример:

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

fun main() {
    val user1 = User("Alice", 30)
    val user2 = User("Alice", 30)
    val user3 = user1.copy(age = 31)

    println(user1) // Выведет что-то вроде "User(name=Alice, age=30)"
    println(user1 == user2) // Выведет true, т.к. сравниваются по свойствам
    println(user1 === user2) // Выведет false, т.к. разные объекты
    println(user3) // Выведет "User(name=Alice, age=31)"

    val (name, age) = user1
    println("$name is $age years old.") // Выведет "Alice is 30 years old."
}