java - 在 java 中遍历 EnumSet?

标签 java enums loops

当我创建一个 EnumSet 并通过函数发送它时,我发现自己无法访问 EnumSet 中设置的 Enum 值。我所能做的就是将它与原始集合进行比较并检查它是否存在。我不希望那样,因为这迫使我浪费代码行,并迫使我每次都使用原始枚举类。

    for(Action a : Action.values())
    {
        if(stateCommands.contains(a))
        {
            System.out.println(a.getCommand() + a.getDescription());
        }

    }

我想遍历 stateCommands 并能够看到它的内容。

我该如何处理?

最佳答案

for(StateCommand command : stateCommands) {
   // do whatever
}

就像任何其他 Set 一样。或者,如果您需要做一些更复杂的事情,只需使用 stateCommands.iterator()

关于java - 在 java 中遍历 EnumSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170234/

相关文章:

java - Spark-提交错误行 71 :/Library/Java/JavaVirtualMachines/jdk1. 8.0_192.jdk/Contents/Home/bin/java: Mac 中没有这样的文件或目录

java - 更改 GridPane 中节点的列/行索引

java - 解决由于 C++ 导致的 Google protobuf 中枚举字段命名限制的解决方案

ios - 尝试打印错误(AKA ErrorType)枚举的描述

php - 围绕 php 循环包装 div

java - 如果值重复, HashMap 会优化内存吗?

java - JPA 坚持 ManyToMany 与关联类?

Java反射-枚举生成

vba - 压缩大量(不切实际的)基于循环的 VBA 代码;嵌套 For...Next 循环

ruby - 为特定类创建父类(super class)数组