我有易損的接口爲第三類遵循爪哇 - 接口類型路過的ArrayList
public interface Damageable {
public void handleCollision(float impulse);
}
實現該接口的類,BaseObject
public class BaseObject implements Damageable
現在,我有一個ArrayList類型BaseObject
public class ObjectManager {
public ArrayList<BaseObject> bodies;
我想要做的是將ArrayList主體傳遞給anoth方法它接受的ArrayList
public CollisionManager(ArrayList<Damageable> _bodies) {
bodies = _bodies;
}
的Java類呃沒有讓我做新CollisionManager(機構),其中機構的類型是ArrayList和BaseObject實現易損
我已經試過鑄造。說不能從 ArrayList<BaseObject>
強制ArrayList 也嘗試使用Class<? extends Damageable>
,但後來我無法調用接口Damageable聲明的方法。我怎樣才能傳遞ArrayList?
看看這個帖子:http://stackoverflow.com/questions/6965035/why-cant-a-method-take-a-collectionsubclass-when-the-methods-signature-is-de – SirPentor