serialVersionUID
是 Java 序列化机制中的一个关键因素
private static final long serialVersionUID
字段。serialVersionUID
分配一个唯一的值。通常,这是一个长整数(long
)。serialVersionUID
。以下是一个示例:
import java.io.Serializable;
public class MyClass implements Serializable {
// 添加 serialVersionUID 字段
private static final long serialVersionUID = 1L;
// 类的其他成员和方法
}
在这个例子中,我们将 serialVersionUID
设置为 1L
。您可以根据需要选择其他值,但请确保每个可序列化的类都有一个唯一的 serialVersionUID
。
注意:当您对类进行更改时,例如添加或删除字段,更改字段类型等,您应该更新 serialVersionUID
的值,以确保向后兼容性。否则,在反序列化过程中可能会出现 InvalidClassException
。为了避免这种情况,您可以使用一些工具(如 Apache Commons Lang 的 SerializationUtils
)来自动生成 serialVersionUID
。