Перечисление hasMoreElements () возвращает false - PullRequest
0 голосов
/ 08 марта 2012

Я делаю это в своем коде:

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

У меня есть один элемент в моем Перечислении, но когда я проверяю liste.hasMoreElements (), почему он возвращает false?

Ответы [ 2 ]

2 голосов
/ 08 марта 2012

Я бы хотел getListe() всегда возвращать коллекцию (пустую или нет) и использовать только итератор.

например

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

Вместо создания пустого списка вы можете использовать Collections.emptyList () (и другие пустые коллекции)

Если в вашем перечислении должен быть элемент, но его нет, это может означать, что в getListe ()

есть ошибка
0 голосов
/ 08 марта 2012

Вы уже повторили перечисление?Т.е. getListe () возвращает новый список элементов?

Из javadoc:

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