我有一个接口IMyInterface。一组实现此接口的类:Class1,Class2 ...

现在,我想创建一个存储任何实现IMyInterface的类的哈希表。

Hashtable<String,? extends IMyInterface> ht = new Hashtable<String,? extends IMyInterface>();
ht.add("foo",new Class1());


编译器抱怨它不能初始化ht并且不能添加Class1,因为
未定义add方法。添加方法需要IMyInterface:\

我能怎么做 ?

最佳答案

只需使用:

Hashtable<String, IMyInterface> table = new Hashtable<String, IMyInterface>();
table.put("foo", new Class1());


鉴于Class1实现了IMyInterface

关于java - Java-使用带有接口(interface)作为值的哈希表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5282235/

10-10 18:10