我认为这段代码会向适当的向量添加一个对象,但是我得到一个空指针异常。我知道Actor a
存在,因为actors.add(a)
正在按预期工作。我研究了如何测试一个对象是否实现了一个接口,但是我能找到的所有例子都详细说明了如何调用接口的方法,而不是调用一个需要该接口实例的方法。
public void addActor(Actor a) {
actors.add(a); // actors is a vector
if (a instanceof Drawable) {
panel.addDrawable((Drawable) a);
}
}
在小组中:
public void addDrawable(Drawable d) {
images.add(d); // images is a vector
}
答案 0 :(得分:1)
我收到空指针异常。我知道
Actor a
存在,因为actors.add(a)
正在按预期工作。
Vector.add(null)
不会提出NullPointerException
。 javadoc说
public boolean contains(Object o)
如果此向量包含指定的元素,则返回
true
。更正式地说,当且仅当此向量包含至少一个元素e时才返回true(o==null ? e==null : o.equals(e))
。