gpt4 book ai didi

java - Java中的序列化顺序

转载 作者:行者123 更新时间:2023-12-01 17:42:19 24 4
gpt4 key购买 nike

我有一个 A 类收集 B 类和 C 类的列表。类 C 包含类 B 列表(类 A 中的列表)的元素。

所以我序列化了类A,当我反序列化它时,我发现属性B为空(尽管我序列化它时不是这样)。

我认为这是因为序列化的顺序,例如该列表可能在类 C 的属性之后序列化,因此该属性为 null。

您认为这是一个可能的解释吗?如果是这样的话:我如何指定序列化的顺序(无需重新定义 readObject)?

提前致谢。

最佳答案

您传递给ObjectOutputStream.writeObject的对象被写入,在此期间遇到的任何对象(即非 transient 字段)都以嵌套方式写入。如果已写入对象,则会写入反向引用。以这种方式支持循环结构。反序列化与序列化相反。

你的问题不在这里。

我认为您可以通过定义 serialPercientFields 来指定顺序字段(如果我拼写正确的话),但它始终是嵌套的。

关于java - Java中的序列化顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59603951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com