Enum с переключателем

У меня есть перечисление, и мне нужно привязать эти значения к переключателю в другом классе, помогите, пожалуйста, я запутался

public enum GSProccesingType {
    bigCover,
    cover,
    other
}

class Test {
 switch (GSProccesingType){
        case bigCover:
        break;
        case cover:
            break;
        case default:
    }
 }

Enum с переключателем

в чем путаница?

Ravi 04.09.2018 07:36

Switch принимает выражение значения, а не тип даже для числа.

ernest_k 04.09.2018 07:36

1) У вас не может быть сырых операторов в объявлении класса; они должны быть в методе или блоке инициализации. 2) Вы должны указать switch по значению, а не по типу.

Robby Cornelissen 04.09.2018 07:37
stackoverflow.com/questions/2836286/… может это сработает для вас
JoseCarlosPB 04.09.2018 07:38
case default: также является синтаксической ошибкой. Вы имели в виду default: или case other:?
Henry 04.09.2018 07:39
stackoverflow.com/a/6391791/4848659 может найти здесь точный ответ. Вам нужно создать instace, а затем использовать его.
Gimhani 04.09.2018 07:40

Вы должны следовать Соглашениям об именах Java: перечисления считаются константами и поэтому должны быть записаны в UPPER_SNAKE_CASE.

MC Emperor 04.09.2018 07:46

Кроме того, что вы ожидаете, что когда вы так запишете свой оператор switch?

MC Emperor 04.09.2018 07:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
8
65
1

Ответы 1

Сначала вам нужно создать объект. Затем используйте этот объект в операторе switch. Как показано ниже:

GSProccesingType type = GSProccesingType.cover;.   // type will hold any one of the enum values. Cover is one such value
switch(type){...}

Для вашего примера вам нужно поставить bigCover в коммутатор

почему .cover, если у меня есть в enum 3 значения: bigCover, cover и другие?

Mike Mclaren 04.09.2018 07:38

Это пример. Объект будет содержать любое из значений перечисления

Pankaj Singhal 04.09.2018 07:38

Не могу понять .cover А это что?

Mike Mclaren 04.09.2018 07:40

В вашем случае bigCover содержит значение перечисления. Поместите эту переменную в переключатель.

Pankaj Singhal 04.09.2018 07:43

@TerletskiyAlexander Идеальный пример, когда вы не прочитали тему полностью и сразу перешли к реализации. Вы должны сначала понять what is ENUM

Ravi 04.09.2018 07:45

@TerletskiyAlexander ты раньше кодировал на C? В языке C вы можете сразу получить значение перечисления. Но с Java вам нужно сначала получить родительский элемент перечисления GSProccessingType. Также вам понадобится непостоянное выражение при переходе к оператору switch. Например GSProccesingType yourExpression; yourExpression = GSProccesingType (dot) (your selected enum); switch ( yourExpression){ case GSProccesingType.bigCover: break; case GSProccesingType.cover: break; case GSProccesingType.other: break; case default: ;}

Leandro Keen Zapa 04.09.2018 08:03

Другие вопросы по теме