假设您有很多课程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
A
,B
或C
的对象,具体取决于输入clazz
。
答案 0 :(得分:2)
public <T extends Base> T get(Class<T> clazz, final String key) {
}
更接近您的需求。请记住,在方法声明的泛型变量期间,为了获得更多成功,通常会将修饰符放在参数列表之外。