我需要序列化来自静态HashMap的数据。我需要这个静态数据,因为我没有这个地图存在的类的实例。 我实现Serializable接口,并建立此两种方法:序列化的方法从来没有叫
private synchronized void writeObject(ObjectOutputStream out) throws IOException
{
System.out.println("start serialization ...");
Collection<TaskUpdateListener> tasks = listeners.values();
out.writeInt(tasks.size());
for(TaskUpdateListener task : tasks)
{
out.writeObject(task);
}
}
private synchronized void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
{
System.out.println("start deserialization ...");
int size = in.readInt();
for(int index = 0; index < size; index++)
{
addTaskUpdateListener((ComponentScheduleTable) in.readObject());
}
}
但这种方法永远不会被调用。 有没有人有这个问题或解决方案?
您是如何使用该类的?只要看看序列化代码,就很难弄清楚为什么它没有被调用。 – twain249 2012-03-08 14:42:41
为什么不只是序列化HashMap? – 2012-03-08 14:44:29
该类只有静态方法,并将某个user_id缓存在静态变量中。 – Happo 2012-03-08 14:45:46