让我们想象一下这种情况 - 我想在 java 中使用 TreeMap。它是Colletions 框架的一部分,也是SortedMap 接口的唯一实现。
public class MyDictionary extends TreeMap<String, String> {
// some code
}
为了浏览存储在我的 Dictionary 类中的条目,我需要一种 Map.Entry。在代码中的某处(可能是 MyDictionary 类的一个方法,或者更可能是包装类中包含 MyDictionary 类变量的方法,其中包含我的数据)会有类似的内容:
public void showEntries() {
for (Map.Entry<String, String> e : dictionary) {
System.out.println(e.getKey(), e.getValue()); // do something
}
}
现在的问题是:有没有办法将 Map.Entry 的泛型类型绑定到为 TreeMap 声明的泛型类型?
目标是只在一个地方定义泛型类型。
如果我稍后决定更改 TreeMap 中保存的数据类型,我将不必搜索使用这些类型的所有位置。
上面的例子是一个概念验证。请帮忙。