作者:U友50141126 | 来源:互联网 | 2023-05-17 14:33
IhavethishashmapinmyabstractclassDrawn,andmyintentistofillitwitheveryinstanceofe
I have this hashmap in my abstract class Drawn, and my intent is to fill it with every instance of every class that extends Drawn. I initialize the map like so:
我在我的抽象类中绘制了这个hashmap,我的意图是用每个延伸绘制的类的每个实例填充它。我像这样初始化地图:
public static HashMap drawns = new HashMap();
I attempt to add elements to the hash table like so:
我试图像这样添加元素到哈希表:
//this code is in the abstract class Drawn()
public void init(){
idCount++;
setID(idCount);
drawns.put(idCount,this);
}
And then I attempt to iterate like so:
然后我尝试迭代这样:
for( E : Drawn.drawns.values()) {
E.draw();
}
Both the iterator and the init() code have compile time errors. However, if I change the type parameters to Drawn instead of I can get everything to compile, but then when I add instances of a subclass to the hash table, they are not detected by the iterator.
迭代器和init()代码都有编译时错误。但是,如果我将类型参数更改为Drawing而不是我可以编译所有内容,但是当我将子类的实例添加到哈希表时,迭代器不会检测到它们。
1 个解决方案