2009-06-18 9 views
6

que tienen una variable int que sostienen varios indicadores, por ejemplo:banderas múltiples en el valor de una int

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

puedo probar la presencia de una bandera

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

¿Cómo puedo borrar el valor de una bandera de styles, es decir, eliminar dinámicamente ExpandableComposite.EXPANDED, sin saber las banderas exactas que se establecen en styles?

Respuesta

10

este es un viejo lenguaje C, sigue trabajando en Java:

styles &= ~ExpandableComposite.EXPANDED; 

Sin embargo en estos días (> = Java 1.5) debe considerar el uso:

+0

Gracias, funciona genial. Y sí, estaría usando EnumSet pero estoy trabajando contra una API - Eclipse - que necesita soportar 1.4. –

Cuestiones relacionadas