关于java:Class Generics方法定义

Class Generics method definition

本问题已经有最佳答案,请猛点这里访问。

假设你有很多类,extendsBase类。

1
2
3
4
5
6
7
class Base{}

class A extends Base[}

class B extends Base{}

class C extends Base{}

我必须写什么,这样当我写一个get方法时,我会得到我想要的类?

1
2
3
public Base get(Class <? extends Base> clazz, final String key){
    //not important.
}

我想要返回classABC的对象的方法,这取决于输入clazz


1
2
public <T extends Base> T get(Class<T> clazz, final String key) {
}

更接近你所需要的。请记住,在方法声明泛型变量期间,为了获得更大的成功,通常会将修饰符放在参数列表之外。