enumeration e=vector.elements
但是vector类没有实现Enumeration,那么它是如何返回Enumeration Reference的。但是e
引用了java.util.vector $ 1。什么是“Vector $ 1”???
答案 0 :(得分:6)
Vector$1
是anonymous class。 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");
}
};
}