在Java中,我们可以使用枚举来循环哈希表。但是Java编译器抱怨Enumeration变量是一个原始类型。
以下是代码:
Hashtable <Integer, Integer> Myhash = new Hashtable <Integer, Integer>();
Enumeration e;
e = MyHash.values();
编译器抱怨Enumeration是原始类型。我们如何定义代码,所以不是这样?
答案 0 :(得分:3)
您的代码存在一些问题:
您使用的是原始类型。您的变量应声明其泛型类型参数:
Enumeration<Integer> e;
Hashtable.values()
返回Collection
,而不是Enumeration
。你可能想要这个:
e = MyHash.elements();
Hashtable
和Enumeration
已经过时了。除非是为了向后兼容,否则您应该使用HashMap
和Iterator
代替。
答案 1 :(得分:0)
试试这个:
Enumeration e = Collections.enumeration(MyHash);