序列化和指针Java

rub*_*buc 2 java serialization

序列化对象时,它会跟随指针.假设我有一个树数据结构,树和根中的所有其他对象都可以序列化.我的班级看起来像这样

class Tree ... private Node root:...

它是否能够跟随根是唯一显式声明的实例变量?即使指向的元素不是成员,它会保存整棵树吗?它还原后会重新创建数据结构吗?

aro*_*oth 7

是的,如果您的根对象及其所有字段(以及这些对象中的所有字段等)Serializable,则序列化将保存整个结构(通过遵循它找到的每个指针/引用).它不会保存的唯一内容是声明为transient或的任何字段static.

请注意,序列化是Java甚至足以处理循环引用.