如何在IntelliJ IDEA中生成这个值?

我去设置->错误-> Serialization问题-> Serializable类没有' serialVersionUID ',但它仍然没有显示警告。我的类PKladrBuilding父类实现了接口Serializable。

部分代码:

public class PKladrBuilding extends PRQObject

public abstract class PRQObject extends PObject

public abstract class PObject implements Serializable

当前回答

另一种生成serialVersionUID的方法是使用>Analyze >Run Inspection by Name从上下文菜单(或键盘快捷键,默认是ctrl+alt+shift+i),然后键入“Serializable class without 'serialVersionUID'”(或简单地键入“serialVersionUID”,type ahead函数将为您找到它。

然后你会得到一个上下文菜单,你可以在其中选择在哪里运行检查(例如,所有来自特定模块,整个项目,一个文件,…)

使用这种方法,您甚至不需要设置一般检查规则。

其他回答

为了产生价值而使用

private static final long serialVersionUID = $randomLong$L;
$END$

并为randomLong模板变量提供如下值: .nextLong groovyScript(“新随机()().abs ())

https://pharsfalvi.wordpress.com/2015/03/18/adding-serialversionuid-in-idea/

不需要任何插件:你只需要在IntelliJ中启用高亮:

IntelliJ首选项->编辑器->检查-> Java ->序列化问题->序列化类没有'serialVersionUID' -设置标志,并单击'确定'。

现在,如果您的类实现了Serializable,您将看到高亮显示,并在类名上使用alt+Enter将建议生成私有静态最终长serialVersionUID。

PS:从这里拍摄

另一种生成serialVersionUID的方法是使用>Analyze >Run Inspection by Name从上下文菜单(或键盘快捷键,默认是ctrl+alt+shift+i),然后键入“Serializable class without 'serialVersionUID'”(或简单地键入“serialVersionUID”,type ahead函数将为您找到它。

然后你会得到一个上下文菜单,你可以在其中选择在哪里运行检查(例如,所有来自特定模块,整个项目,一个文件,…)

使用这种方法,您甚至不需要设置一般检查规则。

v2018.2.1版本

首选项>编辑器>检查> Java >序列化问题>切换“没有'serialVersionUID'的可序列化类”。

警告应该出现在类声明旁边。

我使用Android Studio 2.1,我有更好的一致性,通过点击类名称,并悬停在它一秒钟。