java.util.Vector中的$ 1

时间:2010-07-13 10:40:23

标签: java enumeration inner-classes

enumeration e=vector.elements

但是vector类没有实现Enumeration,那么它是如何返回Enumeration Reference的。但是e引用了java.util.vector $ 1。什么是“Vector $ 1”???

1 个答案:

答案 0 :(得分:6)

Vector$1anonymous classVector.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");
    }
};
}