构造一个检查列表上的枚举的if语句

时间:2011-08-26 01:24:20

标签: java arrays enums if-statement

检查枚举列表中的内容是否最有效?我环顾了一会儿,现在还不是很清楚。数组没有contains()函数,hashmaps是key:value。

类似的东西:

if(enumlist.contains(foo.enum())){
    // Do something
}

2 个答案:

答案 0 :(得分:3)

使用List#indexOf()

if (enumList.indexOf(foo) > -1) {
    // go crazy
}

或者,您可以使用(非常高效)EnumSet data structure来存储对象 - 如果您可以无法存储重复元素。

if (enumSet.contains(foo)) {
    // just, like, whatever, man
}

答案 1 :(得分:2)

EnumSet有一个合适的contains()方法。

附录:使用此example,以下内容打印true

System.out.println(Resolution.deluxe.contains(Resolution.RES_256));