我有一个有限的对象列表,我使用ObjectInputStream和ObjectOutputStream将其序列化到存储。 我遇到过不使用Serialize的建议。 我应该使用XmlSerializer和XmlPullParser来使用xml方法而不是序列化列表吗?我将不得不采用这种方法来解析xml的其他步骤。
哪种方法正确?
答案 0 :(得分:1)
TL; DR:如果用户不需要与对象进行交互,则序列化对象没有问题。
如果您输出的文件需要共享,导出或手动编辑,那么最好导出为XML。用例可以是导出游戏角色对象,并允许用户在XML文件中编辑他们的一些统计数据,或者与也可以编辑它的其他用户分享他们的角色。
如果您输出的文件仅在您的应用程序中使用,用户从不直接与之交互,或者用户甚至从未看到过,那么您就没有理由不能仅仅序列化您的对象喜欢。与第一个类似的用例可以是保存您不希望用户能够搞砸的游戏角色。序列化对象会使用户无法读取文件,并且会阻止他们更改统计信息以便更轻松地击败您的游戏。
用例可能与您的应用程序无关,但它们概述了每种方法的一些优缺点。