我的抽象类 Drawn 中有这个哈希图,我的目的是用扩展 Drawn 的每个类的每个实例来填充它。我像这样初始化地图:
public static HashMap<Integer, ? extends Drawn> drawns = new HashMap();
我尝试将元素添加到哈希表中,如下所示:
//this code is in the abstract class Drawn()
public void init(){
idCount++;
setID(idCount);
drawns.put(idCount,this);
}
然后我尝试像这样迭代:
for(<Integer, ? extends Drawn> E : Drawn.drawns.values()) {
E.draw();
}
迭代器和 init() 代码都有编译时错误。但是,如果我将类型参数更改为 Drawn 而不是我可以编译所有内容,但是当我将子类的实例添加到哈希表时,迭代器不会检测到它们。