Java SerialVersionId命名约定

Java SerialVersionId命名约定,java,naming-conventions,serializable,Java,Naming Conventions,Serializable,serialVersionUID字段没有命名为SERIAL\u VERSION\u UID有什么可行的原因吗 根据以下文件: 可序列化类可以显式声明自己的serialVersionUID 通过声明名为“serialVersionUID”的字段,该字段必须是静态的, 最终版,长型: ANY-ACCESS-MODIFIER静态最终长serialVersionUID=42L 引用所有静态final(常量)字段时,字段应大写,并用下划线分隔其片段。可能是因为serialVersionUID在Java序列

serialVersionUID字段没有命名为SERIAL\u VERSION\u UID有什么可行的原因吗

根据以下文件:

可序列化类可以显式声明自己的serialVersionUID 通过声明名为“serialVersionUID”的字段,该字段必须是静态的, 最终版,长型:

ANY-ACCESS-MODIFIER静态最终长serialVersionUID=42L

引用所有静态final(常量)字段时,字段应大写,并用下划线分隔其片段。

可能是因为serialVersionUID在Java序列化API中定义,而没有此类约定

我发现Sun在1997年发布了一份文件,在第16页的第9节中说“声明类常量的变量名称和ANSI的变量名称” 常量应为大写,单词之间用下划线(“”)分隔_


因此,我猜测Sun只是没有在自己的代码上实施自己的标准。

这就是序列化API的编写方式;)不要这么认为,serialVersionUID是在Java1中引入的。5@WojtekOwczarczyk. 它是在Java1.1中与序列化一起引入的。