如何将Java类转换为Kotlin数据类
我使用Android工作室的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")
- Kotlin中的Activity Activity静态启动器方法
- 无法找到填充字段 – 使用Kotlin与房间数据库
- Kotlin中未解决的参考异步
- 如何在android中的kotlin读取和写入txt文件
- Android Studio 3.0 Preview重构Kotlin代码时缺少导入
- Kotlin:跳过协程
- 为什么Android Studio 3测试版有Build APK(s)选项而不是Build APK?
- 如何使用Android kotlin仅在日期选取器对话框中显示日期和月份
- 错误:com.app.android.dagger.component.AppComponent(unscoped)可能不引用作用域绑定: