Java :с использованием оператора switch с перечислением в подклассе

Сначала я заявлю, что я гораздо лучше знаком с перечислениями в C #и кажется как перечисления в java, это полный беспорядок.

Как видите, я пытаюсь использовать оператор switch @ enums в следующем примере, но всегда получаю сообщение об ошибке, что бы я ни делал.

Я получаю сообщение об ошибке::

Метка с уточнением case SomeClass.AnotherClass.MyEnum.VALUE_Aдолжна быть заменена константой enum без уточненияVALUE_A

Дело в том, что я вполне понимаю ошибку, но не могу просто написать ЗНАЧЕНИЕ _A, поскольку перечисление находится в другом подклассе -. Есть ли способ решить эту проблему? И почему это происходит в Java?

//Main Class
public class SomeClass {

    //Sub-Class
    public static class AnotherClass {
        public enum MyEnum {
            VALUE_A, VALUE_B
        }    
        public MyEnum myEnum;
    }

    public void someMethod() { 
        MyEnum enumExample //...

        switch (enumExample) {
            case AnotherClass.MyEnum.VALUE_A: { <-- error on this line
                //..
                break;
            }
        }
    }
}
238
задан rink.attendant.6 8 December 2014 в 04:06
поделиться