我有一个包含多个标志的int变量,例如:
int styles = ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED;
我可以测试标志的存在
boolean expanded = (styles & ExpandableComposite.EXPANDED) != 0;
如何在不知道
styles
中设置的确切标志的情况下,从ExpandableComposite.EXPANDED
中清除标志的值,即动态删除styles
? 最佳答案
这是一个古老的C惯用法,仍在Java中运行:
styles &= ~ExpandableComposite.EXPANDED;
但是,这些天(> = Java 1.5)应该考虑使用:
Enum
(请参阅Tutorial)EnumSet
EnumMap