【发布时间】:2013-10-09 14:45:21
【问题描述】:
我有一个 B 类和 C 类,它们都扩展了 A 类:
public class B extends A {...}
public class C extends A {...}
如何以这种方式将 Java 泛型与 HashMap 一起使用?
B b = new B();
C c = new C();
Map<String, ? extends A> map = new HashMap<String, A>();
map.put("B", b);
map.put("C", c);
Eclipse 总是显示错误:
类型中的 put(String, capture#1-of ? extends A) 方法 地图不适用于 参数(字符串,B)
和
类型中的 put(String, capture#1-of ? extends A) 方法 地图不适用于 参数(字符串,C)
【问题讨论】:
-
只需使用
Map<String, A>。