我试图在类中的方法中引用变量,但不断遇到 NullPointerException。我知道当从 addPerson 方法引用它时,它发生在变量 pbook 上。为什么会发生这种情况?我该如何解决它?
public class Phonebook <T> {
private LinkedList<T> pbook;
public T findPerson(T person) {
for (int i = 0; i < pbook.size(); i++) {
if (pbook.get(i).equals(person)) {
return person;
}
else
{
i++;
}
}
return null;
}
public void addPerson(T person) {
pbook.addFirst(person);
}
public void deletePerson(T person) {
for (int i = 0; i < pbook.size(); i++) {
if (pbook.get(i).equals(person)) {
pbook.remove(i);
}
else
{
i++;
}
}
}
/**
* @param args
*/
public static void main(String[] args){
try{
Phonebook<Integer> sspb = new Phonebook<Integer>();
Phonebook<String> idpb = new Phonebook<String>();
sspb.addPerson(1234567890);
idpb.addPerson("Bob");
}
catch (Exception e){
e.printStackTrace();
}
}
}
最佳答案
您必须添加一个构造函数来实例化您的LinkedList
:
public Phonebook() {
pbook = new LinkedList<T>();
}
关于java - 引用变量时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21417766/