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");
    }
};
}
Другие вопросы по тегам