[英]How to transition Java class to Kotlin Data Class
我使用Android Studio的Kotlin插件將Java類轉換為Kotlin。 事情還不是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")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.