Java Enum:一次获取多个值

h9u*_*est 2 java enums multiple-value

如我错了请纠正我:

  1. 枚举是一种类型
  2. 某个枚举类型的对象一次只能获取1个枚举值

现在我有一个问题:假设我已经定义了一个枚举(或其他一些适合该任务的数据结构;我无法命名,因为我正在寻找这样的数据结构来完成以下任务)在我的java程序中的某个地方.如果,不知何故,我在main(String [])中有一个枚举(或其他一些数据结构)对象,并且我希望它采用枚举(或其他一些数据结构)的多个值,我该怎么做?如果不是枚举,我应该使用哪种合适的数据结构?

提前致谢!

rle*_*ndi 7

您可以使用一个简单的数组,来自核心java.util API的任何集合也可以完成这项工作(比如列表或集合,它比使用数组更方便),但您可能接下来的是EnumSet:

enum Monster {
    GOBLIN, ORC, OGRE;
}

public class Main {
    public static void main(final String[] args) {
        final EnumSet<Monster> bigGuys = EnumSet.of(Monster.ORC, Monster.OGRE);

        for (final Monster act : Monster.values()) {
            System.out.println(bigGuys.contains(act));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)