java - Set 中*the*元素的类型是什么?

标签 java set

我有这个代码:

for(GlCapabs_e capName : capabs.keySet()){
    x = capName.get();
}

哪里GlCapabs_eenumcapabsEnumMap<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
}

记住,EnumMapMap 的实现,因此它继承/实现了它的所有方法。

关于java - Set 中*the*元素的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22289311/

相关文章:

set - D中的简单集实现?

java - java.lang.UnsupportedOperationException:未由DistributedFileSystem FileSystem实现实现

java - Spring导入看不到资源

mysql - SQL INNER JOIN 来自同一个表的两个值数组

algorithm - 可以使用一组给定的数字生成的固定长度的不同序列的数量

java - "add to set"在 java 中返回一个 boolean 值 - python 呢?

java - AbstractSet类和Set接口(interface)

java - 订阅、接收和发送消息的中央集线器?

java - 动态列出 jar 内的类

java - 在自动化测试中使用来自查看页面源的信息