有一个课程:
public class RepositoryHolder<T extends Repository<?>> {
private Map<Class<?>, T> repoMap = new HashMap<Class<?>, T>();
public <T1> void registerRepo(Class<T1> clazz, T repo){
repoMap.put(clazz, repo);
}
}
目的是将T1类型与Repository&lt; \?&gt;
中的通配符相关联在registerRepo()方法中,clazz类型应与T类型的repo相关联。例如:如果T = MyRepo1,那么只有跟随呼叫才有效
MyRepo1<String> myrepo1 = new MyRepo1<>();
registerRepo(String.class, myrepo1 )
而不是这一个:
MyRepo1<Integer> myrepo1 = new MyRepo1<>();
registerRepo(String.class, myrepo1 )
如何实现这一目标?