2009-06-18 62 views
6

我有持有多個標誌,例如一個int變量:多個標誌

int styles = ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED; 

我可以測試一個標誌

boolean expanded = (styles & ExpandableComposite.EXPANDED) != 0; 

的情況下如何清除值從styles的國旗,即動態刪除ExpandableComposite.EXPANDED,不知道在styles設置的確切標誌?

回答

10

這是一箇舊的C成語,在Java仍在工作:

styles &= ~ExpandableComposite.EXPANDED; 

然而,這些天(> = Java 1.5中),你應該考慮使用:

+0

謝謝,效果很好。是的,我會使用EnumSet,但我正在使用API​​ - Eclipse - 需要支持1.4。 – 2009-06-18 08:34:14