当我使用此代码进行序列化时,我遇到了“managerL.get(1).getID()”的空指针异常。我确信它被序列化为对象,如“managerL.size()”返回 1。当我尝试使用 HxD 打开 manager.ser 时,我找不到任何对象属性。我做错了吗?怎么解决?
这是我的代码:
List <manager>managerL=null;
manager NEW=new manager(nID,nName,nPW);
managerL.add(NEW);
try{
FileOutputStream fOut = new FileOutputStream("manager.ser");
ObjectOutputStream out = new ObjectOutputStream(fOut);
out.writeObject(managerL); //write NEW into manager.ser
out.close();
fOut.close();
System.out.println("new user is able to login, try and see~");
}catch(IOException ex){
ex.printStackTrace();
}
最佳答案
List 中的元素从 0 和 1 开始索引。
需要修改代码为managerL.get(0).getXXX()
managerL.get(1)
将抛出 NPE
关于java - 属性未记录在序列化arraylist中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21870505/