此方法需要什么作为参数

时间:2019-12-19 03:51:21

标签: java

已经给我要使用的代码,我需要使用此方法

    public <A extends Actor> List<A> getObjects(Class<A> cls) {
    ArrayList<A> someArray = new ArrayList<A>();
    for (Node n: getChildren()) {
        if (cls.isInstance(n)) {
            someArray.add((A)n);
        }
    }
    return someArray;
}

我了解它返回的内容以及其他所有内容,而不仅仅是它想要我传递的参数,并且已经被卡住了一段时间了。

2 个答案:

答案 0 :(得分:2)

您有一个名为MyActor的类,它扩展了Actor,并且您想调用此方法来获取List<MyActor>。喜欢,

List<MyActor> al = getObjects(MyActor.class);

答案 1 :(得分:0)

您的方法将任何class作为参数,这将扩展您的类Actor,并返回这些subclass's对象的列表。

要使用此方法,需要在下面进行设置:

class MyActor extends Actor {
   // some internal logic
}

然后通过从您的主方法或任何服务传递上述类来调用您的方法:

...
List<MyActor> actors = getObjects(MyActor.class);
...