我有这个代码:
for(GlCapabs_e capName : capabs.keySet()){
x = capName.get();
}
哪里GlCapabs_e
是 enum
和capabs
是 EnumMap<GlCapabs_e, Boolean>
。但是GlCapabs_e
输入错误,因为我无法使用get()
上capName;
它不能是常量,它必须是支持 get()
的类型所以返回键的值。
我在 Java 文档中的某个地方读过(我再也找不到它了),存在一种“特殊”类型,如 elementOf
, itemOf
或类似的东西,但谷歌搜索没有返回任何与我的问题有关的信息。除此之外,我不确定我是否应该使用这种类型。
最佳答案
您正在迭代keySet
。如果您想获取映射到键集中每个键的值,请使用 EnumMap
来检索该值
for(GlCapabs_e capName : capabs.keySet()){
x = capabs.get(capName);
}
或者迭代entrySet
for (Entry<GlCapabs_e, Boolean> entry : capabs.entrySet()) {
x = entry.getValue(); // the entry holds both the key and the mapped value
}
关于java - Set 中*the*元素的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22289311/