枚举hasMoreElements()返回false

时间:2012-03-08 16:15:31

标签: java enumeration

我在我的代码中执行此操作:

            Enumeration liste = attribut.getListe ();
            if (liste != null) {
                while (liste.hasMoreElements ()) {
...

我的枚举中有一个元素但是当我检查liste.hasMoreElements ()时,为什么会返回false

2 个答案:

答案 0 :(得分:2)

我希望getListe()总是返回一个集合(空或其他)并且只使用迭代器。

e.g。

for(Entry e: getListe()) {
   // do something with e.
}

您可以使用Collections.emptyList()(和其他空集合)

,而不是创建空列表

如果你的枚举应该有一个元素但是没有,那么它会建议你在getListe()中有一个错误

答案 1 :(得分:0)

您是否已经迭代了枚举?即getListe()返回一个新的元素列表吗?

来自javadoc:

for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
     System.out.println(e.nextElement());
 }