java - 序列化 - 使用 ObjectStreamField [] serialPersistentFields 有什么好处?

标签 java serialization

对于实现 Serializable 接口(interface)的类,有两种方法可以定义在序列化期间流式传输哪些特定字段:

  1. 默认情况下,所有实现 Serializable 的非静态、非 transient 字段都会被保留。
  2. 通过定义 ObjectStreamField [] serialPersistentFields 并显式声明保存的特定字段。

我想知道,除了能够定义特定字段顺序之外,第二种方法的优点是什么?

最佳答案

“优势”在于它按照 Javadoc 中的说明进行操作:定义哪些字段被序列化。没有它,所有非 transient 非静态字段都会被序列化。您的选择。

关于java - 序列化 - 使用 ObjectStreamField [] serialPersistentFields 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9659365/

相关文章:

java - 如何使用 XStream 注释 java 对象以将属性添加到单个元素?

class - 即使是 Scala 中简单的序列化示例也不起作用。为什么?

java - 使用 hashMap 序列化对象

c++ - boost 二进制文件 - 减少大小

c# - protobuf-net [反] 跨程序集边界序列化

java - infinispan 和 jgroups 的合并 View 不正确

java - Hadoop 未在 Windows 7 上启动任何数据节点

java - 使用 jdev 创建一个包含 weblogic.jar 的 jar 文件

java - Vector<> 类的 toArray() 方法

c# - XmlSerializer 将 float 序列化为 1E+07