java - 设计一个在类级别使用通配符定义类型的类,并在使用该类时将通配符与特定类型相关联
问题描述
有一个类:
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 <\?> 中的通配符链接起来
在 registerRepo() 方法中,clazz 类型应该与 T 类型的 repo 相关联。例如:如果 T=MyRepo1,那么只有下面的调用应该是有效的
MyRepo1<String> myrepo1 = new MyRepo1<>();
registerRepo(String.class, myrepo1 )
而不是这个:
MyRepo1<Integer> myrepo1 = new MyRepo1<>();
registerRepo(String.class, myrepo1 )
如何做到这一点?
解决方案
推荐阅读
- c# - 如何将图片移动到光标在画布上单击的位置
- linq - 如何使用 LINQ to SQL 处理这个子查询?
- python - 打印字符串模块中所有函数的帮助文档字符串:Python
- php - 在两个控制器上工作时,每个请求都得到 404
- python - ModuleNotFoundError:没有名为“空间”的模块
- wpf - WPF:删除焦点 ListView 周围的虚线边框
- python - 为什么这段代码显示 NoSuchElementException 错误?我检查了 Chrome DOM 我的 XPATH 能够找到目标标签
- python - python中稀疏矩阵的并行计算
- javascript - 反应将值从孩子传递给另一个父母
- random - BBC MicroBit 上的 Ada 随机数生成器