以前学java的时候,经常会问自己,这个序列化到底是个什么东东,一直弄不明白,后来也没有去研究,就这样了,这次巩固java基础的知识,在java IO这一块,重新学习了一下什么是序列化。
那么什么是序列化呢?就是将一个对象持久化,那么怎么将对象持久化呢,聪明的你应该猜到将对象放到硬盘上,那么这个对象是不是被持久化或者序列化了呢?对吧
local class incompatible: stream classdesc serialVersionUID = -325069713583124974, local class serialVersionUID = -2529505665681892141
碰到这个问题的原因是:你的序列化ID跟原先的ID不一样,因为你改变了这个类的源代码。解决的方法有:
1.将这个类显示的编写一个序列化ID,public static final long serialVersionUID = 42L;
2.将你改变的属性设置为静态的,那么你的值就不会被改变了,
3.或者你不想让某个属性被序列化,那么可以在这个属性前面加上一个transient关键字