在IntelliJ中为Kotlin类生成SerialVersionUID

在Intellij上,你将如何为Kotlin编写的类生成一个SerialVersionUID?

我在Intellij中启用了这样的检查:

报告不提供serialVersionUID字段的任何Serializable类。 如果没有serialVersionUID字段,对类的任何更改都会使先前的序列化版本无法读取。

但是这只适用于Java类

你是对的。 这种检查不适用于Kotlin类。 也许你可以向Jetbrains提出问题,以便他们能够解决这个问题。

为了生成SerialVersionUID,您可以使用JDK的内置命令serialver 。

E:\ workspace \ target \ classes> serialver地址

地址:static final long serialVersionUID = -687991492884005033L;

其他使用示例 。

我没有在Kotlin的youtrack中发现这样的问题,所以请创建它。

如果您使用Idea,则可以为此创建实时模板。

有效的serialVersionUID应该如下所示:

 class Test : Serializable { companion object { @JvmStatic private val serialVersionUID = 1 } }