【发布时间】:2009-12-03 06:50:30
【问题描述】:
我有一个包含两个数组列表的类,我试图将对象存储到其中,每个对象类型一个。在我的主类中,我像这样插入对象:
for (int i =0; i < 3; i++)
{
Cat cat = new Cat("meow",i);
Dog dog = new Dog("woof",i);
objList.addCat(cat);
objList.addDog(dog);
}
我的 ObjectList (objList) 类的设置如下:
import java.util.ArrayList;
public class ObjectList {
public ArrayList cats;
public ArrayList dogs;
public ObjectList()
{
this.cats = new ArrayList();
this.dogs = new ArrayList();
}
public void addCat(Cat c)
{
this.cats.add(c);
}
public void addDog(Dog d)
{
this.dogs.add(d);
}
}
但是,我从objList.addCat(cat); 行开始得到java.lang.NullPointerException。我在这一行之前打印出了 cat 对象的属性,这两个值似乎都已设置。我试图查看是否可以将一个 int 传递给我的 addCat arrayList,但我得到了同样的错误,所以我假设我在我的类中错误地使用了 arraylist。我的代码中是否存在显而易见的错误?
【问题讨论】:
-
每当您询问与异常相关的问题时,请不要忘记包含堆栈跟踪。