首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当可序列化中有读/写对象方法时,为什么选择Externalizable

当可序列化中有读/写对象方法时,为什么选择Externalizable
EN

Stack Overflow用户
提问于 2018-03-28 18:25:23
回答 1查看 505关注 0票数 2

我不能澄清我的困惑,

之所以使用Externalizable,是因为我们可以使用read/writeExternal方法给出我们自己的(更有效的)序列化-反序列化实现。并控制序列化过程。

我们也可以使用read/writeObject方法,序列化过程将被该方法覆盖。

那么为什么Externalizable是必需的呢?

为什么有人更喜欢读/写外部对象而不是读/写对象?

EN

回答 1

Stack Overflow用户

发布于 2018-03-28 18:30:35

只是在序列化的情况下进行定制。

Externalizable文档中给出了原因

Externalizable接口的writeExternal和readExternal方法由一个类实现,以便让该类完全控制对象及其超类型的流的格式和内容。这些方法必须显式地与超类型协调才能保存其状态。这些方法取代了writeObject和readObject方法的自定义实现。对象序列化使用Serializable和Externalizable接口。对象持久化机制也可以使用它们。对要存储的每个对象进行Externalizable接口测试。如果对象支持Externalizable,则调用writeExternal方法。如果对象不支持Externalizable,但实现了Serializable,则使用ObjectOutputStream保存该对象。**

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49532046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档