Sobes.tech
Назад к вопросам
Junior — Middle
70

Возможна ли автоматическая генерация конструктора без параметров для data class в Kotlin?

Компании, где спрашивали
RedLab

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

sobes.tech AI

В Kotlin для data class автоматически генерируется конструктор, который принимает все свойства, объявленные в первичном конструкторе. Однако, если вы хотите иметь конструктор без параметров (конструктор по умолчанию), то он не создаётся автоматически, если в первичном конструкторе есть параметры без значений по умолчанию.

Чтобы получить конструктор без параметров, можно:

  • Задать значения по умолчанию для всех параметров первичного конструктора:
data class User(val name: String = "", val age: Int = 0)

Теперь можно создать объект User() без параметров.

  • Или добавить дополнительный конструктор без параметров вручную:
data class User(val name: String, val age: Int) {
    constructor() : this("", 0)
}

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