【发布时间】:2025-11-24 16:45:01
【问题描述】:
我想知道为什么 java.util.Enumeration 被 JVM 视为 java.util.Iterator ?他们没有任何继承关系。
public interface Enumeration<E> {
....
}
public interface Iterator<E> {
...
}
Hashtable<String, Object> hashTable = new Hashtable<>();
hashTable.put("key1", 1);
hashTable.put("key2", 2);
hashTable.put("key3", 3);
Enumeration<Object> enumeration = hashTable.elements();
System.out.println(enumeration instanceof Enumeration);
System.out.println(enumeration instanceof Iterator);// why true here?
【问题讨论】:
-
如果要调查类型关系,请使用
X.class.isAssignableFrom( Y.class )。它不会被对象的偶然性所污染。
标签: java iterator java-7 enumeration