我有一个简单的User数据类
data class User(@PrimaryKey(autoGenerate = true) val id: Long, val _id: String, val name: String, val about: String,
val phoneNumber: String, val token: String,
val lastLogin: String, val avatarUrl: String, @Embedded val location: Location,
val emailId: String, val gender: Boolean, val timestamp: Long = System.currentTimeMillis())
您可以看到最后一个参数是val timestamp: Long = System.currentTimeMillis()
响应来自网络改型,并使用GSON
解析
timestamp
不在响应json中,只是我需要做一些逻辑的额外字段。问题在于值始终为0
。应该是当前时间戳
答案 0 :(得分:1)
这可以解决问题,
data class User(@PrimaryKey(autoGenerate = true) val id: Long, val _id: String, val name: String, val about: String,
val phoneNumber: String, val token: String,
val lastLogin: String, val avatarUrl: String, @Embedded val location: Location,
val emailId: String, val gender: Boolean) {
var timestamp: Long = System.currentTimeMillis()
get() = if(field > 0) field else {
field = System.currentTimeMillis()
field
}
}