在我的 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/