從標題看,它應該是同樣的老問題,但相信我,這是不同的。爲Java類生成SerialVersionUID
我正在使用EJB3,如果必須遠程調用它,我必須使所有數據對象都實現Serializable接口。
問題是,我的大多數數據對象是生成(使用速度模板),編譯和打包一次。現在我在每個類中硬編碼默認serialVersionUID,如下所示:
private static final long serialVersionUID = 1L;
但我想知道是否有什麼辦法可以做到以下;
private static final long serialVersionUID = getSerialUID();
private static long getSerialUID() {
// Serial Version Algo code here
}
此外,使用默認的serialVersionUID是否有任何問題?我真的需要使用Algo生成一個唯一的ID嗎?
感謝您的信息,我通過了文檔,它是有道理的。但有一件事是肯定的......即。我需要serialVersionUID,它不應該是默認的,即1L。現在問題是我應該使用標準的UUID來獲得一個(因爲即使類結構是相同的,每次我生成我的類時,這會給我一個新的數字),還是應該使用HashCode方法來檢索一個?有沒有任何如何使用HashCode的例子? – SJunejo