Есть ли способ побитового ИЛИ перечисления в Java?

Я использую конечный автомат, и код становится действительно подробным при тестировании с большим количеством возможных состояний.

enum Mood {
    HAPPY, SAD, CALM, SLEEPY, OPTIMISTIC, PENSIVE, ENERGETIC;
}

Есть ли способ сделать это:

if (currentMood == (HAPPY | OPTIMISTIC | ENERGETIC) {}

Вместо этого:

if (currentMood == HAPPY || currentMood == OPTIMISTIC || currentMood == ENERGETIC) {}

Или в этом случае лучше использовать целые числа и флаги?

27
задан 8 June 2011 в 17:29
поделиться