Можно ли создать пустой конструктор у data class в Kotlin

«Можно ли создать пустой конструктор у data class в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно, но только если все свойства класса имеют значения по умолчанию. Data class требует, чтобы все параметры были проинициализированы.

Пример:

data class User(
    val name: String = "",
    val age: Int = 0
) {
    constructor() : this("", 0) // Пустой конструктор
}

Без значений по умолчанию компилятор выдаст ошибку, так как primary конструктор data class должен гарантировать инициализацию всех свойств.