我序列化了我的所有类但得到异常......任何人都可以说哪个类属性会导致这个问题?
1 -
[
2 -
public class UserManage {
public ArrayList<User> users=null;
3 -
public class User implements java.io.Serializable {
private String firstName;
private ArrayList<Repository> userRepositories=null;
我必须说类public class Repository implements java.io.Serializable {
public String parentPathOfAllRepositories="D:\\TestOfJava";
private ArrayList<String> contributorsID=null;
private String ParentDefaultPath=null;
private HashMap<File,String> LockListFile=null;
private HashMap<File,String> FileHashlist=null;
private String VersionHolderFolderPath=null;
private HashMap<HashMap<File,String>,HashMap<Date,String>> VersionsList=null;
中的ArrayList<User>
必须序列化为文件
[更新]:异常消息:UserManage
答案 0 :(得分:0)
如果您的对象没有实现java.io.Serializable,则此代码会抛出NotSerializableException,这同样适用于其所有非静态和非瞬态数据成员,依此类推,直到关闭。使用指定的SerialVersionUID更好,因此JVM不会在运行时计算它。 还请实现Serializable to UserManage类。
对于数组或集合,数组或集合的所有对象都必须是可序列化的。如果任何对象不可序列化,序列化将失败。
如果你的类中有内部类,那么内部类总是拥有对其外部类的隐式引用,除非外部类也可序列化,否则不能序列化内部类。实际上它甚至不建议尝试;
查看此参考资料 http://docs.oracle.com/javase/7/docs/platform/serialization/spec/serial-arch.html#4539