0

我有一个有限的对象列表,我使用 ObjectInputStream 和 ObjectOutputStream 将这些对象序列化到存储中。我遇到了不使用序列化的建议。我应该使用使用 XmlSerializer 和 XmlPullParser 的 xml 方法而不是序列化列表?我将不得不用这种方法做额外的解析 xml 的步骤。

哪个是正确的方法?

4

1 回答 1

1

TL;DR:如果用户不需要与它交互,那么序列化你的对象是没有问题的。

如果您输出的文件需要共享、导出或手动编辑,那么最好导出为 XML。这样做的用例可能是导出游戏角色对象,并允许用户在 XML 文件中编辑他们的一些统计数据,或与也可以编辑它的其他用户共享他们的角色。

如果您输出的文件仅在您的应用程序中使用,用户永远不会直接与之交互,或者甚至从未被用户看到,那么如果您喜欢这样,您就没有理由不能只序列化您的对象。与第一个类似的用例可能是保存您不希望用户弄乱的游戏角色。序列化对象会使用户无法读取文件,并会阻止他们更改统计数据以更轻松地击败您的游戏。

这些用例可能与您的应用程序无关,但它们确实概述了每种方法的一些优缺点。

于 2013-04-12T16:27:22.903 回答