我有一个包含 4 个值的枚举,并且我有一个接受枚举值的方法签名。我希望能够对所有未作为参数传递给 doSomething() 的枚举值做一些事情。
public void doSomething(EnumThing thing){
EnumThing[] thingValues = EnumThing.values();
List<EnumThing> valuesNotPassedAsArg = new ArrayList<EnumThing>();
for(EnumThing th : thingValues){
valuesNotPassedAsArg.add(th);
}
valuesNotPassAsArg.remove(thing);
//here I would loop through all valuesNotPassAsArg and do something with them
}
public enum EnumThing{
SOMETHING, SOMETHINGELSE, ANOTHERTHING;
}
有没有更清洁的方法来做到这一点?我觉得从 thingValues 数组中获取项目的循环似乎是多余的。