当我使用此代码进行序列化时,我得到了'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();
}
答案 0 :(得分:0)
List#get(1)
将起作用。您的列表只有一个对象。你应该做.get(0)
。
答案 1 :(得分:0)
列表中的元素从0和1开始编制索引。
需要将代码修改为managerL.get(0).getXXX()
managerL.get(1)
会抛出NPE
答案 2 :(得分:0)
你应该使用managerL.get(0),因为只有一个项目。