【问题标题】:Serialization of an object within an object in Android?Android中对象内对象的序列化?
【发布时间】:2016-01-29 17:23:06
【问题描述】:

如果这是一个愚蠢的简单问题,请提前道歉!我正在制作的应用程序的一部分需要一个“字符表”对象,该对象包含要通过序列化保存的不同统计对象。

我关心的是,当我序列化字符表对象时,stat 对象中的值是否会被正确保存?如果 stat 对象在序列化期间无法正确保存,是否有任何人可以推荐使其正常工作的过程?

感谢您的帮助!

【问题讨论】:

  • 应该可以。你为什么不试试呢?序列化再反序列化,看看结果。
  • 这些“统计对象”(无论它可能是)是否可序列化?

标签: java android object serialization


【解决方案1】:

您可以自己进行序列化。

有两种选择:

  1. 自定义序列化

这是通过将这些可选的序列化方法添加到您的类中来实现的:

  • private void writeObject(java.io.ObjectOutputStream out) throws IOException
  • private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException
  • private void readObjectNoData() throws ObjectStreamException

详情请见the Serializable API

  1. Externalizable

使用Externalizable 代替Serializable。这样您就可以完全控制类的序列化方式。

在这种情况下,你需要从接口实现这两个方法:

  • readExternal(ObjectInput in)
  • writeExternal(ObjectOutput out)

详情请见the Externalizable API

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 2021-12-08
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    相关资源
    最近更新 更多