Как перевести класс Java в класс данных Kotlin

Я использовал плагин Kotlin для Android, чтобы преобразовать свой Java-класс в Kotlin. Дело в том, что это еще не стиль Котлина. Вместо этого я хочу иметь класс данных Kotlin. Но всякий раз, когда я создаю его с помощью первичных и вторичных конструкторов, это не сработает. Какова была бы правильная реализация класса DATA в моем случае?

class Task { @SerializedName("_id") var id: String? = null @SerializedName("text") var taskTitle: String? = null @SerializedName("completed") var isCompleted: Boolean? = null constructor(taskTitle: String) { this.taskTitle = taskTitle } constructor(taskTitle: String, completed: Boolean?) { this.taskTitle = taskTitle this.isCompleted = completed } constructor(id: String, taskTitle: String, isCompleted: Boolean?) { this.id = id this.taskTitle = taskTitle this.isCompleted = isCompleted } } 

Kotlin вводит значения по умолчанию для параметров в конструкторе. Вы можете использовать их для создания класса данных только с одним конструктором с использованием Kotlin. Это будет выглядеть так

 data class Task( @SerializedName("_id") var id: String? = null, @SerializedName("text") var taskTitle: String? = null, @SerializedName("completed") var isCompleted: Boolean? = null ) 

Таким образом, вы можете использовать свой класс данных с любым количеством аргументов, например:

 var task = Task(taskTitle = "title") var task = Task("id", "title", false) var task = Task(id = "id", isCompleted = true) 

Вы даже можете заменить порядок аргументов

 var task = Task(taskTitle = "title", isCompleted = false, id = "id")