gpt4 book ai didi

serialization - 如何为 kotlin 异常生成 serialVersionUID?

转载 作者:IT老高 更新时间:2023-10-28 13:41:22 35 4
gpt4 key购买 nike

由于 kotlin 没有静态字段,我应该在伴随对象中定义 serialVersionUID 吗?

最佳答案

要在 Kotlin 中为类创建 serialVersionUID,您有几个选项都涉及向类的伴随对象添加成员。

最简洁的字节码来自private const val,它将成为包含类的私有(private)静态变量,在本例中为MySpecialCase :

class MySpecialCase : Serializable {
companion object {
private const val serialVersionUID: Long = 123
}
}

您也可以使用这些表单,每个都有一个副作用,即拥有 getter/setter 方法,这对于序列化来说不是必需的......

class MySpecialCase : Serializable {
companion object {
private val serialVersionUID: Long = 123
}
}

这会创建静态字段,但也会在伴生对象上创建一个 getter 以及 getSerialVersionUID,这是不必要的。

class MySpecialCase : Serializable {
companion object {
@JvmStatic private val serialVersionUID: Long = 123
}
}

这会创建静态字段,但也会在包含类 MySpecialCase 上创建静态 getter 以及 getSerialVersionUID,这是不必要的。

但所有这些都是将 serialVersionUID 添加到 Serializable 类的方法。

关于serialization - 如何为 kotlin 异常生成 serialVersionUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34241816/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com