Comment utiliser un opérateur bitwise pour transmettre plusieurs valeurs Integer dans une fonction pour Java?

En application des cadres je continue à voir des cadres qui permettent de passer plusieurs valeurs Int (généralement utilisé à la place d'un enum) dans une fonction.

Par exemple:

public class Example
{ 
    public class Values
    {
        public static final int ONE = 0x7f020000;
        public static final int TWO = 0x7f020001;
        public static final int THREE = 0x7f020002;
        public static final int FOUR = 0x7f020003;
        public static final int FIVE = 0x7f020004;
    }

    public static void main(String [] args)
    {
        //should evaluate just Values.ONE
        Example.multiValueExample(Values.ONE);

        //should evalueate just values Values.ONE,  Values.THREE, Values.FIVE
        Example.multiValueExample(Values.ONE | Values.THREE | Values.FIVE);

        //should evalueate just values Values.TWO , Values.FIVE
        Example.multiValueExample(Values.TWO | Values.FIVE);
    }

    public static void multiValueExample(int values){
        //Logic that properly evaluates bitwise values
        ...
    }
}

De sorte à ce que la logique devrait exister dans multiValueExample pour moi d'évaluer correctement les multiples int les valeurs sont passées à l'aide de l'opérateur au niveau du bit?

source d'informationauteur AtariPete | 2009-03-15