Mik*_*keB 0 java android kotlin data-class
我使用Android studio的Kotlin插件将我的Java类转换为Kotlin.事情是它还不是Kotlin风格.我想改用Kotlin Data Class.但每当我使用主要和辅助构造函数创建它时,它将无法工作.在我的情况下,正确的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
}
}
Run Code Online (Sandbox Code Playgroud)
Kotlin在构造函数中引入了参数的默认值.您可以使用它们来创建只使用Kotlin的一个构造函数的数据类.它看起来像这样
data class Task(
@SerializedName("_id") var id: String? = null,
@SerializedName("text") var taskTitle: String? = null,
@SerializedName("completed") var isCompleted: Boolean? = null
)
Run Code Online (Sandbox Code Playgroud)
因此,您可以将数据类与任意数量的参数一起使用,例如:
var task = Task(taskTitle = "title")
var task = Task("id", "title", false)
var task = Task(id = "id", isCompleted = true)
Run Code Online (Sandbox Code Playgroud)
您甚至可以替换参数顺序
var task = Task(taskTitle = "title", isCompleted = false, id = "id")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |