我想使用以下代码访问枚举中的元素:
Enumeration<SomeClass> en = someFunctionToRetrieveEnumeration();
while(en.hasMoreElements()){
String name = en.nextElement().getName();
System.out.println(name);
}
打印输出如下:
name2
输出应该是什么:
name1
name2
我检查了 en 确实包含两个元素,为什么我的代码只会打印第二个元素?
答案 0 :(得分:0)
Enumeration<SomeClass> en = someFunctionToRetrieveEnumeration();
if(en.hasMoreElements()){
do{
String name = en.nextElement().getName();
System.out.println(name);
}while(en.hasMoreElements());
}
UPD:
看起来像使用迭代器的函数返回枚举。枚举是一个接口。要获取第一个元素,您需要知道枚举的实际类型并检查 - 是否可以再次迭代它(检索新的迭代器)