2011-11-22 50 views
0

我想实现一个方法,该方法返回一个或一个允许的Action列表,并将其定义为枚举。具有逻辑OR选择的Java ENUM

例如我的方法应该是这样的:

public enum getAllowedActions() { 
    return // (('something like' Actions.ACTION1 & Actions.ACTION2)); 
} 

,然后读取另一个位置的结果,如:

if (getAllowedActions() == Actions.ACTION1) { 
    // do something... 
} 

有:

public class enum { 
    ACTION1, ACTION2; 
} 

感谢。 Stefano。

回答

7

听起来像是你只是lookng为EnumSet

public EnumSet<Action> getAllowedActions() { 
    return EnumSet.of(Action.ACTION1, Action.ACTION2); 
} 

... 
if (getAllowedAction().contains(Action.ACTION1)) { 
    ... 
}