在我的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); }


除了使我讨厌的所有int都是因为我喜欢通过枚举获得的类型检查之外,是否有其他方法可以在Java中执行此操作?

谢谢

最佳答案

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

09-11 13:30