无法访问枚举中对象的成员

时间:2014-09-07 03:42:21

标签: java

我有一个哈希表,包含一个唯一的标识符作为键,一个对象作为值。我试图浏览哈希表中的所有值并打印出对象的值,但Eclipse告诉我对象的成员无法解析。我的代码如下所示:

Enumeration<myobj> items = myhashtable.elements();
while (items.hasMoreElements()) {
    System.out.println(items.X + " - " + items.Y.Z());
    items.nextElement();
}

X是一个String,Y是主对象中的另一个对象,其方法Z返回一个字符串。

1 个答案:

答案 0 :(得分:2)

您正在错误的对象上调用您的字段。

Enumeration<myobj> items = myhashtable.elements();
while (items.hasMoreElements()) {
    myobj item = items.nextElement();
    System.out.println(item.X + " - " + item.Y.Z());
}

但是,Iterator现在比Enumeration更受欢迎,因为来自javadoc的引用显示:

  

注意:此接口的功能由   迭代器接口。此外,Iterator添加了一个可选的删除   操作,并具有较短的方法名称。新的实现应该   考虑使用Iterator优先于Enumeration。

使用Iterator和Iterable,除其他外,你可以使用像for (Type t : myIterableOfTypeT)这样的同步糖。