public Serial1(int company_id, String company_addr) {
this.company_id = company_id;
this.company_addr = company_addr;
}
public String toString() {
return "DATA: "+company_id+" "+
company_addr;
}
}新版本
import java.io.*;
public class Serial implements Serializable {
int company_id;
String company_addr;
public Serial1(int company_id, String company_addr) {
this.company_id = company_id;
this.company_addr = company_addr;
}
public String toString() {
return "DATA: "+company_id+" "+ company_addr;
}
public void todo(){}//無關緊要的方法
} 首先將老版本序列化,然后用新版本讀出,發生錯誤:
java.io.InvalidClassException: Serial.Serial1; local class incompatible: stream classdesc serialVersionUID = 762508508425139227, local class serialVersionUID = 1187169935661445676 接下來我們加入顯式的聲名UID:
private static final long serialVersionUID=762508508425139227l; 再次運行,順利地產生新對象