我在网上读到,通过将派生对象声明为 transient ,可以省略派生对象的序列化。但是,在链接列表的情况下,链接是对象之间的内存引用。那么,我应该将其转换为数组并存储数组表示形式吗?
最佳答案
以下是 Java 序列化 LinkedList
的方式:它获取所有元素并将它们连同大小一起写入 ObjectOutputStream
。当然,还声明了 header
条目 transient
查看LinkedList
的writeObject
和readObject
方法:
// Write out any hidden serialization magic
s.defaultWriteObject();
// Write out size
s.writeInt(size);
// Write out all elements in the proper order.
for (Entry e = header.next; e != header; e = e.next)
s.writeObject(e.element);
关于java - 如何序列化java中实现的链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317876/