Java 尝试为向量添加元素()时的NPE
这是我所有权类别的一部分。它没有编译错误,但当我尝试使用其他类运行并输入正确的输入时,它在addOwner()的addElement()行上给了我一个NPE,我不知道为什么。我确信,所有者不是问题所在,输入也不是问题所在。我尝试在一个较小的项目中初始化一个向量,然后列出它的内容,它也给了我一个NPE。基本上,我需要知道如何向OwnerList添加一个新的Owner对象,而不会得到NullPointerException谢谢Java 尝试为向量添加元素()时的NPE,java,vector,nullpointerexception,element,add,Java,Vector,Nullpointerexception,Element,Add,这是我所有权类别的一部分。它没有编译错误,但当我尝试使用其他类运行并输入正确的输入时,它在addOwner()的addElement()行上给了我一个NPE,我不知道为什么。我确信,所有者不是问题所在,输入也不是问题所在。我尝试在一个较小的项目中初始化一个向量,然后列出它的内容,它也给了我一个NPE。基本上,我需要知道如何向OwnerList添加一个新的Owner对象,而不会得到NullPointerException谢谢 import java.util.*; import j
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;
}
}
import java.util.*;
导入java.io.*;
公共类所有权实现可序列化
{
私有向量所有者;
私有向量表;
公有制
{
ownerList=新向量();
petList=新向量();
}
公共布尔addOwner(字符串b)
{
所有者r=新所有者();
r=所有者parser.parseStringToOwner(b);
所有者列表补遗(r);
返回true;
}
}
您的默认“构造函数”有一个void
返回值,因此它不是一个构造函数,而是一个普通的方法,名为构造函数。因此,永远不会调用“构造函数”,也永远不会初始化向量
将
public void Ownership(){…}
更改为public Ownership(){…}
,它将起作用。在讨论异常时,请提供堆栈跟踪Owner r
可以为空,或者在你的情况下,ownerList
可以为null
。我觉得自己像个白痴。现在一切正常。给我双面手掌