java - 属性未记录在序列化arraylist中

标签 java serialization deserialization

当我使用此代码进行序列化时,我遇到了“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/

相关文章:

java - Pig Udf 在显示结果

php - 在 session 中序列化对象时 PHP 类不完整

java - 序列化和简单地将对象存储在磁盘上有什么区别?

c - 将 JSON 数组字符串反序列化为字符串数组

Java反序列化旧对象

java - Lucene (Java) 中的过滤术语计数

java - 模拟父类来测试包装类

java - 动态添加文本字段值的序列化

OS X 上的 Java 声音 API(带 USB 声卡)

javascript - 需要一个 jQuery 表单反序列化器