> Что такое 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)
> Похожие задачи по mobile
Как компилируется Kotlin: в Java байткод или напрямую
Уровень: middleКатегория: Технические вопросы
Компания: MTS
Стек: Kotlin, Java, Android
Насколько интересно писать на Kotlin Multiplatform и участвовать в переписывании Android и iOS приложений
Уровень: seniorКатегория: Технические вопросы
Компания: Travelata
Стек: Kotlin, Android, Swift, iOS
Что такое extension функции в Kotlin и как их использовать
Уровень: juniorКатегория: Технические вопросы
Компания: ЛИПТ Софт
Стек: Kotlin
Что такое nullable типы в Kotlin и как с ними работать
Уровень: juniorКатегория: Технические вопросы
Компания: ЛИПТ Софт
Стек: Kotlin
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью