尝试为Vector添加元素()时的NPE

时间:2013-03-21 08:45:51

标签: java vector nullpointerexception element add

以下是我的所有权类的一部分。它没有编译错误但是当我尝试使用其他类运行并输入正确的输入时,它在addOwner()的addElement()行给了我一个NPE ...我不明白为什么。 OwnerParser 不是问题,我肯定知道,输入也不是。我尝试在一个较小的项目中初始化Vector然后列出它的内容,它也给了我一个NPE。基本上我需要知道如何向OwnerList添加一个新的Owner对象而不会得到NullPointerException 谢谢。

    import java.util.*;
    import java.io.*;

    public class Ownership implements Serializable
    {
        private Vector<Owner> ownerList;
        private Vector<Pet> petList;

        public void Ownership()
        {
            ownerList = new Vector<Owner>();
            petList = new Vector<Pet>();
        }

     public boolean addOwner(String b)
       {
       Owner r = new Owner();
       r = OwnerParser.parseStringToOwner(b);
       ownerList.addElement(r);
               return true;
       }
   }

1 个答案:

答案 0 :(得分:2)

您的默认“构造函数”具有void返回值,因此不是构造函数,而是普通方法,命名为构造函数。因此,永远不会调用“构造函数”,并且永远不会初始化向量。

public void Ownership() {...}更改为public Ownership() {...},它会有效。