public class MyObj implements Serializable {
private transient Map<String, Object> myHash = new HashMap<String, Object>();
...
}
有没有办法确保当上面类的对象被反序列化时,成员myHash将被设置为一个新的空映射,而不是被设置为null?
发布于 2011-01-27 08:10:34
public class MyObj implements Serializable {
private transient Map<String, Object> myHash = new HashMap<String, Object>();
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
myHash = new HashMap<String, Object>();
}
}
发布于 2011-01-27 08:27:22
添加一个像这样的readObject方法怎么样:
public class MyObj implements Serializable {
private transient Map<String, Object> myHash = new HashMap<String, Object>();
...
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
myHash = new HashMap<String, Object>();
}
}
这应该会解决你的问题。
https://stackoverflow.com/questions/4811615
复制相似问题