java - 当我们可以在 java 中覆盖 writeObject 和 readObject 时,为什么我们有 Externalizable

标签 java serialization externalizable

既然我们可以通过覆盖 writeObject() 和 readObject() 来覆盖默认的序列化过程,那么 Externalizable 接口(interface)需要什么?

最佳答案

实现 Serializable 的类可能可能不希望更改该类的实例写入流的格式。

但是,实现Externalizable 的类必须实现writeExternalreadExternal 方法,以及类的负责向/从流中写入恢复数据。

关于java - 当我们可以在 java 中覆盖 writeObject 和 readObject 时,为什么我们有 Externalizable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16605376/

相关文章:

java - 如何从 ListView 的每一行中获取项目?

java - 需要默认公共(public)构造函数的服务加载器实现

java - CompareTo 不允许比较两个对象

java - 如何配置 logback 以跳过来自 org.package.* 的所有级别低于 WARN 的日志消息?

c# - C#中的泛型反序列化方法

c# - JSON 将自定义 C# 结构序列化为字符串,而不是对象

java - 有没有办法让 readExternal() 使用另一个构造函数?

java - 使用 XStream 为可外部化的类使用默认的 Java 序列化

java - 错误: cannot find symbol: class FileNotFoundException

c# - 如何序列化我的类(class)以通过 retrofit 将其作为 urlencoded 发送