类泛型方法定义

时间:2017-06-11 15:36:11

标签: java generics

假设您有很多课程extends课程Base

class Base{}

class A extends Base[}

class B extends Base{}

class C extends Base{}

我必须写什么才能当我写一个get方法时,我会得到我想要的课程?

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

我希望该方法返回class ABC的对象,具体取决于输入clazz

1 个答案:

答案 0 :(得分:2)

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

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