java - 如何在Java中序列化不可序列化的对象?

标签 java serialization

如何序列化未实现 Serialized 的对象?我无法将其标记为可序列化,因为该类来自第 3 方库。

最佳答案

您无法序列化未实现 Serialized 的类,但您可以将其包装在实现了 Serializable 的类中。为此,您应该在包装类上实现 readObjectwriteObject,以便您可以以自定义方式序列化其对象。

  • 首先,使不可序列化字段 transient
  • writeObject 中,首先在流上调用 defaultWriteObject 来存储所有非 transient 字段,然后调用其他方法来序列化不可序列化对象的各个属性.
  • readObject中,首先在流上调用defaultReadObject来读回所有非 transient 字段,然后调用其他方法(与您添加到中的方法相对应) >writeObject) 来反序列化您的不可序列化对象。

我希望这是有道理的。 :-)

关于java - 如何在Java中序列化不可序列化的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56920892/

相关文章:

java - 序列化有什么用?

java - 如何判断 ADB 是否检测到 android 设备?

java - 登录 - 填写表格并提交

java - 如何在Java中添加计数器?

java - 自定义AsyncCallback的序列化问题(?)

java - 在JAVA(Eclipse)中序列化文件时如何将编码设置为UTF8

java - 在 java 中使用 SOAP webservice,只有 WSDL 在手

java - 无法理解为什么计数没有增加

c# - 消息协定转换为 SOAP 消息

c - 通过套接字打包和发送二进制数据时出现问题 - 序列化