一 点睛
在序列化对象时,为保证在被反序列化时仍然具有唯一性,就需要给每个参与序列化的类发一个唯一的“身份证号码”——序列化版本号,那么这个类在后期怎么修改,它的终身代码的版本号都是这个序列化版本。如果不加,JVM给定义的默认序列化版本就会发生变化。此时的序列化版本号是JVM虚拟机自动计算出来的,此时进行反序列化,会因为版本不一致而出现错误。
二 实战——使用序列化版本
第一步:准备Person类
import java.io.Serializable;
public class Person implements Serializable
{ // 此类的对象可以被序列化
public static final long serialVersionUID = 42L; // 自定义序列化版本,不使用JVM默认生成的序列化版本
private String name; // 声明name属性
private int age; // 声明age属性
String country = "cn";
public Person(String name, int age ,String country)
{ // 通过构造方法设置属性内容
this.name = name;
this.age = age;
this.country = country;
}
public String toString()
{