A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天行者star 中级黑马   /  2015-10-31 23:45  /  737 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   对象经常要通过IO进行传送,让你写程序传递对象,你会怎么做?把对象的状态数据用某种格式写入到硬盘,Person->“zxx,male,28,30000”Person,既然大家都要这么干,并且没有个统一的干法,于是,sun公司就提出一种统一的解决方案,它会把对象变成某个格式进行输入和输出,这种格式对程序员来说是透明(transparent)的,但是,我们的某个类要想能被sun的这种方案处理,必须实现Serializable接口。

       ObjectOutputStream.writeObject(obj);

       Object obj = ObjectInputStream.readObject();

       假设两年前我保存了某个类的一个对象,这两年来,我修改该类,删除了某个属性和增加了另外一个属性,两年后,我又去读取那个保存的对象,或有什么结果?未知!sun的jdk就会蒙了。为此,一个解决办法就是在类中增加版本后,每一次类的属性修改,都应该把版本号升级一下,这样,在读取时,比较存储对象时的版本号与当前类的版本号,如果不一致,则直接报版本号不同的错!

3 个回复

倒序浏览
感觉这个东西好高深啊 完全悟解不到
回复 使用道具 举报
约束成员变量的
回复 使用道具 举报
先评论下吧, 有点晚了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马