当向我的Java程序添加文档时,我意识到大多数类都需要声明一个serialVersionUID常量属性。我应该如何记录这个属性?如果我使用默认的和生成的串行版本UID,我是否会以不同的方式记录它呢?
/**
* What goes here? "A unique serial version identifier"
*/
private static final long serialVersionUID = -8922096951749901688L;发布于 2016-11-03 17:15:27
首先,您提供的serialVersionUID评论似乎是对的,,但不必要的。
serialVersionUID是Serializable对象(不是所有java类)的一部分,在这个对象的序列化/反序列化过程中使用。
作为一般规则。总是检查 API接口
在本例中,Serializable API位于底部!!
序列化运行库与每个可序列化的类关联一个名为serialVersionUID的版本号,该版本号在反序列化期间用于验证序列化对象的发送方和接收方是否为该对象加载了与序列化兼容的类。如果接收方为具有与相应发送方类不同的serialVersionUID的对象加载了类,则反序列化将导致InvalidClassException。可序列化的类可以显式声明自己的serialVersionUID,方法是声明一个名为"serialVersionUID“的字段,该字段必须是静态的、最终的和类型为long的: 任何-访问-修改静态最终长serialVersionUID =42 L;
所以你是说它实际上不应该被记录下来,因为它已经有javadoc了?当我省略javadoc和mouseover时,它不会显示任何
:/。
它是Serializable接口的一部分,所以IMHO没有必要.无论如何,您可以使用自己的注释+ @see注释。这样的东西(不确定是否有效,现在不能创建javadoc .)
/**
* A unique serial version identifier
* @see Serializable#serialVersionUID
*/https://stackoverflow.com/questions/40407468
复制相似问题