java.util.Vector$1
enumeration e=vector.elements
Но векторный класс не реализует перечисление, тогда как получается, что он возвращает ссылку на перечисление. Но e
ссылается на java.util.vector$1 . Что такое "Вектор $1"???
1 ответ
Vector$1
это анонимный класс. Vector.elements()
создает новый экземпляр этого анонимного класса, который реализует Enumeration
интерфейс.
Вот исходный код Vector.elements()
(плохо отформатирован, как обычно):
public Enumeration<E> elements() {
return new Enumeration<E>() {
int count = 0;
public boolean hasMoreElements() {
return count < elementCount;
}
public E nextElement() {
synchronized (Vector.this) {
if (count < elementCount) {
return (E)elementData[count++];
}
}
throw new NoSuchElementException("Vector Enumeration");
}
};
}