Меня смущают перечисления - PullRequest
       14

Меня смущают перечисления

2 голосов
/ 09 февраля 2010

Если перечисления используются начиная с jdk1.5 и далее, для чего использовался интерфейс java.util.Enumeration до jdk1.5? Кто-нибудь может мне помочь исследовать это на примере, пожалуйста?

Ответы [ 3 ]

7 голосов
/ 09 февраля 2010

Enumeration - ранний класс Java, по существу замененный на Iterator. он используется для итерации некоторых в значительной степени устаревших коллекций.

Перечисления являются версией типизированных безопасных перечислений в Java в смысле C / C ++. Они представляют собой конечный и фиксированный набор значений, которые являются каноническими, но также могут иметь поведение. Они основаны на образце, установленном Джошуа Блохом в Эффективной Яве .

Другими словами, они не связаны.

4 голосов
/ 09 февраля 2010

Enum и java.util.Enumeration не связаны.

1 голос
/ 09 февраля 2010

java.util.Enumeration был предшественником java.util.Iterator, который был представлен в Java 1.2. Ниже приведен пример из Javadoc перечисления, используемого для итерации по вектору

for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
   System.out.println(e.nextElement());

Это не имеет ничего общего с перечислениями Java 5.

...