我可能会以错误的方式进行操作,但是是否可以遍历扩展特定类的类集合呢?我在想像这样声明:

ArrayList<? extends InterfaceComponent> components = new ArrayList<? extends InterfaceComponent>();


但这会引发错误。可能吗?

编辑:然后我会用:

    for (<? extends InterfaceComponent> t : components)
    {
        t.callSomeMethod();
    }


对?

最佳答案

尝试这个:

ArrayList<InterfaceComponent> components = new ArrayList<InterfaceComponent>();

在该列表上,您可以具有实现InterfaceComponent的任何对象。

编辑:像这样迭代:

for (InterfaceComponent t : components) {}

07-24 09:16