调用泛型方法

时间:2015-05-28 15:21:53

标签: java generics

为什么我不能使用像method1(Foo1)这样的参数化方法?我想只传递扩展类Foo的类。

public class Foo1 extends Foo {
}


public class Foo2 {

   void method1(Class<Foo>){
   }

}

1 个答案:

答案 0 :(得分:3)

使您的方法成为接受参数化类型的通用方法:

<T extends Foo> void method1(Class<T> arg) {
    ...
}

或更简洁:

void method1(Class<? extends Foo> arg) {
    ...
}