严格来说是优先事项,还是有理由使用一种方法而不是另一种方法?
默认值
@Entity
data class Folder(
@PrimaryKey
val id: String = UUID.randomUUID().toString(),
val parentId: String?,
val title: String?,
val pinned: Boolean = false
)
// usage
Folder(parentId = null, title = "Folder")
辅助构造函数
@Entity
data class Folder(
@PrimaryKey
val id: String,
val parentId: String?,
val title: String?,
val pinned: Boolean
) {
@Ignore
constructor(parentId: String?, title: String?) : this(
UUID.randomUUID().toString(), parentId, title, false
)
}
// usage
Folder(null, "Folder")
如果这是一个琐碎的问题,请原谅我,我只是想避免遇到任何麻烦,因为我还没有与Kotlin或Room一起发布应用程序。应用上线。
答案 0 :(得分:0)
如果要在惯用的Kotlin上编写代码,则必须使用带有“默认值”的解决方案。 还可以使用“命名参数”:
println(Folder(parentId = 100, title = "anything"))
此外,如果您希望Room为实体分配自动ID,则可以设置@PrimaryKey
autoGenerate
属性。