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
。