Java 如何用哈希表处理枚举

Java 如何用哈希表处理枚举,java,Java,在Java中,我们可以使用枚举循环遍历哈希表。但是Java编译器抱怨枚举变量是原始类型 代码如下: Hashtable <Integer, Integer> Myhash = new Hashtable <Integer, Integer>(); Enumeration e; e = MyHash.values(); Hashtable Myhash=newhashtable(); e; e=MyHash.values(); 编译器抱怨枚举是原始类型。我们如何定义代码

在Java中,我们可以使用枚举循环遍历哈希表。但是Java编译器抱怨枚举变量是原始类型

代码如下:

Hashtable <Integer, Integer> Myhash = new Hashtable <Integer, Integer>();
Enumeration e;
e = MyHash.values();
Hashtable Myhash=newhashtable();
e;
e=MyHash.values();
编译器抱怨枚举是原始类型。我们如何定义代码,这样就不是这样了

试试这个:

Enumeration e = Collections.enumeration(MyHash);
试试这个:

Enumeration e = Collections.enumeration(MyHash);

您的代码存在一些问题:

  • 您使用的是原始类型。变量应声明其泛型类型参数:

    Enumeration<Integer> e;
    
  • 哈希表
    枚举
    已过时多年。除非是为了向后兼容,否则应该使用
    HashMap
    Iterator


  • 您的代码存在一些问题:

  • 您使用的是原始类型。变量应声明其泛型类型参数:

    Enumeration<Integer> e;
    
  • 哈希表
    枚举
    已过时多年。除非是为了向后兼容,否则应该使用
    HashMap
    Iterator


  • 这仍然不起作用。但这是一个很好的猜测。它会产生另一种错误。它说它缺少泛型类的类型参数。这仍然不起作用。但这是一个很好的猜测。它会产生另一种错误。它说它缺少泛型类的类型参数。我已经尝试了hashMap。还有一个问题。迭代器和编译器中的枚举器有着相同的问题,它们都不能是原始代码,解决方案是相同的。不要使用原始类型。我已经尝试了hashMap。还有一个问题。迭代器和编译器中的枚举器有着相同的问题,它们都不能是原始代码,解决方案是相同的。不要使用原始类型。