【发布时间】:2018-08-17 11:36:36
【问题描述】:
我有一个简单的用户数据类
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。应该是当前时间戳
【问题讨论】:
-
所以我需要使用另一个库来做一点改变。 gson 已经在应用程序的所有地方使用,并且为同一目的使用两个不同的库是没有意义的。
-
也许一旦你意识到 GSON 调用
Unsafe.allocateObject()来创建你的对象而不调用实际类要求的任何初始化代码,它就开始有意义了。你破解,你就输了。但是,您的出路可能是确保使用默认构造函数编译您的类。然后 GSON 将调用它而不是肮脏的Unsafehack。
标签: kotlin data-class