我不知道为什么 HashMap 实例是可序列化的,而扩展 HashMap 的类的实例是不可序列化的。
所以,这段代码有效:
HashMap<String,String> map=new HashMap<String,String>();
...
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(map);
objOut.close();
这不起作用:
public class MyMap extends HashMap<String,String>{}
...
MyMap map=new MyMap();
...
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(map);
objOut.close();