如果我错了,请纠正我:
现在我有一个问题: 假设我已经在我的java程序中的某个地方定义了一个枚举(或其他一些适合该任务的数据结构;我无法命名,因为我正在寻找这样的数据结构来完成以下任务)。如果,不知何故,我在main(String [])中有一个枚举(或其他一些数据结构)对象,并且我希望它采用枚举(或其他一些数据结构)的多个值,我该怎么做?如果不是枚举,我应该使用哪种合适的数据结构?
提前致谢!
答案 0 :(得分:7)
你可以使用一个简单的数组,来自核心java.util API的任何集合也可以完成这项任务(比如列表或集合,它比使用数组更方便),但可能你所追求的是{ {3}}:
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));
}
}
}
答案 1 :(得分:2)
听起来你正在寻找:
java.util.EnumSet
method(MyEnum ...values)
MyEnum[]
我通常更喜欢自己的java.util.EnumSet
,它很容易使用,并且可以快速检查它是否包含某个valaue等。它也是or
标志的替代。