作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
由于 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/
我是一名优秀的程序员,十分优秀!