2009-06-18 8 views
6

I ont une variable int qui détiennent plusieurs drapeaux, par exemple:drapeaux multiples dans une valeur int

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

Je peux tester la présence d'un drapeau

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

Comment puis-je effacer la valeur d'un drapeau de styles, soit dynamiquement supprimer ExpandableComposite.EXPANDED, sans connaître les indicateurs exacts qui sont définis dans styles?

Répondre

10

c'est un vieux langage C, en travaillant en Java:

styles &= ~ExpandableComposite.EXPANDED; 

Cependant, ces jours (> = Java 1.5), vous devriez envisager d'utiliser:

+0

Merci, ça fonctionne très bien. Et oui, j'utiliserais EnumSet mais je travaille sur une API - Eclipse - qui doit supporter 1.4. –

Questions connexes