java 枚举上的 boolean 运算符

标签 java enums boolean

在我的 C++ 代码中,我经常做这样的事情

enum BarType {
    BT_UNKNOWN              = 0,
    BT_NORMAL               = 1,
    BT_BAR_REST             = 2,
    BT_REPEAT_PREV_MEASURES = 3,
    BT_TYPE_MASK            = 0x03,

    ... etc
};
BarType GetBarType(int bn)  { return (BarType)(m_barType[bn] & BT_TYPE_MASK); }

除了让我讨厌的所有东西都变成整数之外,有没有办法在java中做到这一点,因为我喜欢用枚举进行类型检查?

谢谢

最佳答案

最干净的解决方案是使用 java.util.EnumSet对于每个面具。然后,您可以测试给定的枚举值是否在与掩码对应的集合中。

关于java 枚举上的 boolean 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14890624/

相关文章:

c - C 中枚举与 switch-case 的使用

algorithm - 算法的电路表示

java - 将 Hibernate 查询结果映射到对象

c# - 使用通用方法获取我的枚举属性的 List<string>

c++ - 带有模板的基于枚举的工厂无法转换类型

c# - 解析 boolean C# 文化 verdadero

c# - 为什么在不使用可为空的 bool 的情况下设置 bool 的值时可以使用 null 条件运算符?

java - 在 java 命令行应用程序中创建连接池

Java 意外追加

java - JPanel 组件在没有鼠标单击的情况下不会更新