【发布时间】:2021-10-20 23:11:36
【问题描述】:
首先,当 Gson 将 json 字符串转换为 Kt 数据类时,Gson 可能会使用 'UnSafe' 创建数据类,并为 NoNull 字段分配 'null'。并且当这个对象的 hashcode() 被调用时,会抛出一个 nullPointerException。
因为kt编译器生成的字节码并没有检查每个字段,有人遇到过这个问题吗?
下面是1.5.20 kt-compiler生成的hashcode。
public int hashCode() {
result = this.eventId.hashCode();
return result * 31 + this.voteId.hashCode();
}
【问题讨论】:
-
@a_local_nobody 不,我知道为什么会出现空字段,我在想 kotlin 数据类哈希码的实现有点奇怪。
-
那么你应该让你的问题更清楚,以具体说明你在问什么,目前我不明白你在问什么