Назад к вопросам
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 возможна только при наличии значений по умолчанию для всех параметров.