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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hello菜菜 中级黑马   /  2013-10-12 12:12  /  1310 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有些类有自己的编号,什么时候需要为自己自定义的类实现对象的序列化呢?因为在运行时有时候会报异常,说是未将对象序列化。

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

4 个回复

正序浏览
To 金牌黑马 2013-10-13 13:54:46
报纸
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
回复 使用道具 举报
当被序列化的对象存到了硬盘上后,如果原来的类更改了,那么再次读取的时候,会读取失败,因为他们的标识ID被更改了,所以要向更改后,仍可以读取的话,那么在序列化的时候,指定固定的标识ID。static final long serialVersionUID = 42L;这样就可以保证,在原来的类,更改了,也不会出现读取的异常,以为每个都有一个ID的,ID是通过类中的成员而决定的,成员变量以改变。那么ID就会改变,但是我们自定义ID的话,那么都ID不会改变,不管成员是否改变!
回复 使用道具 举报
序列化对象在Java中主要有两个目的,一个是钝化存储对象,另一个是通过网络传输对象,调用ObjectInputStream和ObjectOutputStream去读写一个对象时会要求序列化吧,只要实现Serializable接口就行了

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
当需要将这个对象保存到物理设备(如:磁盘)或者要在网络上传输时,也就是需要与对象流相关联的的时候就需要序列化。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马