【问题标题】:Android hashMap deserialize [closed]Android hashMap反序列化[关闭]
【发布时间】:2013-06-05 10:10:13
【问题描述】:

我有一个用java SE编写的服务器,一个客户端是用android编写的,当我在客户端序列化一个对象Map然后我将它传递给服务器时,服务器无法反序列化该对象,反之亦然.因此,当我尝试反序列化另一个对象(如 StringDate)时,一切正常。

【问题讨论】:

  • 什么类型的序列化?
  • 您的地图中存储了什么样的数据?

标签: java android apache-mina


【解决方案1】:

Maps 通常应避免出现在接口中,尤其是涉及序列化时。

请尝试将您的地图替换为包含相同数据的其他数据结构。

例如,创建一个像这样的对象:

public class MyObject implements Serializable {
    Key keyOfMap;
    Value valueOfMap;
}

并发送List<MyObject> 或同等信息。

这应该可以避免所有地图问题。

【讨论】:

  • 谢谢。我想过。
  • 但我想知道为什么 Map 不反序列化,因为当我在 java SE 中序列化时,服务器会很好地反序列化对象
【解决方案2】:

HashMap 本身是可序列化的。问题是如果你想序列化这个地图实例,它包含的所有键/值也必须是可序列化的。

【讨论】:

  • 所有对象都是可序列化的实现
  • 我不这么认为。只有实现 java.io.Serializable 的类才能用 ObjectOutputStream.writeObject 序列化
猜你喜欢
  • 2011-08-26
  • 1970-01-01
  • 2012-05-24
  • 2023-03-04
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多