如何序列化在java中实现的链表?
我在网上读到,通过将派生对象声明为瞬态,可以省略序列化。 但是,在链表的情况下,链接是对象之间的内存引用。 那么,我应该将它转换为数组并存储数组表示吗?
以下是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);