> Что такое data class в Kotlin и какие у него особенности (Kotlin)

Уровень: junior · Роль: mobile · Категория: Технические вопросы

Компании: ЛИПТ Софт

Стек: Kotlin

> Пример ответа

Data class в Kotlin - это специальный тип класса, предназначенный для хранения данных. Он объявляется с ключевым словом data перед class. Основные особенности:

  • Автоматическая генерация методов: компилятор автоматически создаёт equals(), hashCode(), toString(), copy() и компонентные функции (component1(), component2() и т.д.) на основе всех свойств, объявленных в первичном конструкторе.
  • Требования: первичный конструктор должен содержать хотя бы один параметр (свойство), все параметры должны быть помечены как val или var, и класс не может быть abstract, open, sealed или inner.
  • Деструктуризация: благодаря компонентным функциям объект data class можно разложить на отдельные переменные, например: val (name, age) = person.
  • Неизменяемость: рекомендуется использовать val для свойств, чтобы объекты были иммутабельными, но это не строгое требование.
  • copy(): метод copy() позволяет создать копию объекта с изменением только указанных свойств, что удобно при работе с неизменяемыми данными.

Пример:

data class User(val id: Int, val name: String)
val user = User(1, "Alice")
val copyUser = user.copy(name = "Bob")
println(user) // User(id=1, name=Alice)

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью