首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Externalizable还是Serializable?

Externalizable还是Serializable?
EN

Stack Overflow用户
提问于 2011-08-28 21:36:42
回答 3查看 1.4K关注 0票数 5

在阅读了http://geekexplains.blogspot.com/2008/06/diff-between-externalizable-and.html上的文章后,我了解到Externalizable比Serializalable更好,因为它对代码提供了更好的控制,而且当我在任何项目中发现只使用Serializable接口时,更快的.So Externalizable应该优先于Serializable,而不是Serializable。有没有可能是无知,或者Serializalable提供了一些我没有的其他优势?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-28 21:44:22

Serializable的优势是它非常容易实现,并且具有弹性(在大多数情况下,您所要做的就是更新serialversionUID)。Externalizable要求程序员实际做工作,并且每次类的内容发生变化时都要做更多的工作。正如您链接的文章所指出的,实现Externalizable也容易出错。因此,从利用有限的程序员时间的角度来看,Serializable通常是一个更好的选择。

关于如何设计Serializable和Externalizable的好处是,您可以推迟实现Externalizable的决定,直到性能问题变得明显,并且您可以有选择地只为那些存在问题的类实现它。

票数 6
EN

Stack Overflow用户

发布于 2011-08-28 21:45:29

Serializable是一个标记接口,它指示可以将实例写入输出流并回读。您不必编写和编码(您只需确保所有字段本身都是Serializable)。

Externalizable是一个Serializable,它提供自定义(反)序列化代码。

票数 4
EN

Stack Overflow用户

发布于 2011-08-29 18:45:52

我知道可外部化比可序列化更好

这个链接不是这么说的。在这种情况下没有更好的了,这是赛马的功劳。如果你准备在项目的生命周期中不断地编写更多的代码,Externalizable在某种意义上可能会“更好”,例如空间和时间成本。如果代码成本是个问题,那么Serializable要好得多。而这些并不是唯一的选择。

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

https://stackoverflow.com/questions/7221303

复制
相关文章

相似问题

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