0

我认为这段代码会将一个对象添加到适当的向量中,但我得到了一个空指针异常。我知道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
}
4

1 回答 1

1

我得到一个空指针异常。我知道Actor a存在,因为actors.add(a)按预期工作。

Vector.add(null)不会提出一个NullPointerExceptionjavadoc说_

public boolean contains(Object o)

返回true此向量是否包含指定元素。更正式地说,当且仅当此向量包含至少一个元素 e 时才返回 true 使得(o==null ? e==null : o.equals(e))

于 2012-06-14T21:29:15.403 回答