使用反射

时间:2018-04-11 09:24:35

标签: java android methods reflection

如何使用反射查找读取方法的Foo和泛型类?

 public void contactUsAvail(List<Foo> list) {
       // method block
    }

1 个答案:

答案 0 :(得分:0)

您不能,因为参数类型Foo在编译时被删除。类型参数仅在Java中是编译器提示,不会保留以供执行。

但是你可以通过传递Foo作为方法参数来为你的方法提供一个提示:

public void <F extends Foo>contactUsAvail(Class<F> type, List<F> list) {
    if(SubclassOfFoo.class.isAssignableFrom(type)) {
        //all elements in 'list' inherit from 'SubclassOfFoo'
    }
}