具有逻辑或选择的 Java ENUM

标签 java enums enumeration

我想实现一种方法,返回一个或一组定义为枚举的允许操作。

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

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

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

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

与:

public class enum {
  ACTION1, ACTION2;
}

谢谢。 斯特凡诺。

最佳答案

听起来您只是在寻找 EnumSet :

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

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

关于具有逻辑或选择的 Java ENUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230107/

相关文章:

c# - 如何在执行枚举时管理不断变化的列表?

ios - 是否可以根据表达式检查条件, objective-c

java.text.ParseException : unparsable date: "Mon, 22 Aug 2005 20:21:52 +0200" 异常

java - JOptionPane 标题栏图标

java - 为什么 eclipse 不警告使用较新 java 版本中的类?

java - 不仅在 Activity 的 onCreate 上执行操作,而且在每次 View 转换到该 Activity 时执行操作

C++ - 错误 C2568 - 表达式必须具有整数或无作用域的枚举类型

java - 在枚举中添加映射并将键和值放入其中?

python - 如何在 SQLAlchemy 中访问 'Enum' 列数据类型?

Java和从int获取枚举的方法的命名