序列化的问题,a,b两对象相互引用如何序列化保存

GlobalFree 2008-01-29 04:34:00
如题,谢谢各位。
...全文
177 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
GlobalFree 2008-02-02
  • 打赏
  • 举报
回复
这个结构又类似图的结构。
不知图的序列化是不是先生成树?还是做一个标记?
GlobalFree 2008-02-02
  • 打赏
  • 举报
回复
这个结构类似双向链表
既然存在就有存在的原因。牺牲了空间,提高了效率。
寻找某节点的父节点不必像单链表的从头开始了。呵呵
GlobalFree 2008-02-02
  • 打赏
  • 举报
回复
各位还有更好的方法么?
bloodrate 2008-02-02
  • 打赏
  • 举报
回复
a,b互相调用我觉得设计的确有问题,再复杂的的系统也应该避免loop
GlobalFree 2008-02-02
  • 打赏
  • 举报
回复
我用下面的方法解决了。
用一个容器,存放已经被序列化的对象。
每次序列化对象的时候先到容器中查看,
如果该对象已经序列化了,那么只做一个标记就可以了。
这样存在环形应用也没关系了。

反序列化也需要容器。
对只做标记的对象从容器中取出。构造关系。

另外,这样的环形确实有点不舒服。呵呵
insiku 2008-01-31
  • 打赏
  • 举报
回复
序列化其中一个
另外一个如果实现序列化 就会被自动序列化
GlobalFree 2008-01-31
  • 打赏
  • 举报
回复
俩人对着看。。。咔嚓一声!就来电了!
GlobalFree 2008-01-31
  • 打赏
  • 举报
回复
5楼这个设计。。。还是有可能遇到的。
比如你看着我,就是一种关系。
那么,就不允许我看你了么?
呵呵。
healer_kx 2008-01-29
  • 打赏
  • 举报
回复
对,支持老紫竹,要在反序列化的时候重新构造。不过总得来说,这个设计是不是有问题啊。。。
GlobalFree 2008-01-29
  • 打赏
  • 举报
回复
2楼那个。就两个对象1对1的关系好像满可以的。
多对多关系怎么办呢?呵呵
GlobalFree 2008-01-29
  • 打赏
  • 举报
回复
有些时候问题是没有这么简单地。。。
1. a->b->c->...->x->a
2. a->b->c->...->x->c

->表示引用
那么从a开始序列化,各位能遇到问题么?
老紫竹 2008-01-29
  • 打赏
  • 举报
回复
问的好!哈哈哈!一个圈圈,你说那个是起始,哪个是结束呢?

起始可以简单处理

1 序列化A
2 序列化B

读取的时候,重新构造A和B的关系就行了!
kokobox 2008-01-29
  • 打赏
  • 举报
回复
类的序列化多是为了对象能在网络上传输。一般都是集成Serializable接口就可以了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧