powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / jdk 5.0 вопрос по Enum
6 сообщений из 6, страница 1 из 1
jdk 5.0 вопрос по Enum
    #34175064
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то не могу догадаться как сделать.
Переменная String s; может принимать набор заранее известных параметров.
я завожу множество:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  public   static  enum TypeRequest {
        CHECK("check"),
        PAYMENT("payment"),
        STATUS("status"),
        REVOKE("revoke");
         private   final  String typeRequest;
        TypeRequest(String typeRequest) {
             this .typeRequest = typeRequest;
        }
         public  String getTypeRequest() {
             return  typeRequest;
        }
    }
собственно "check", "status" и т.д. те значения, которые может принимать переменная.
а теперь хотелось бы написать конструкцию, которая позволяет сделать следущее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  String s = "check";
   switch  (unknow_construction(s)) {
   case  TypeRequest: {
       break ;
  }
....
  }
а вот как написать не соображу.
У кого-нибудь есть соображения?

Заранее спасибо.
...
Рейтинг: 0 / 0
jdk 5.0 вопрос по Enum
    #34175359
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В java в switch могут использоваться только примитивные типы. Так что if/else и вперед.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 public  enum TypeRequest {


    check,
    payment,
    status,
    revoke,
    ;

}

...
        String str = "check";
        TypeRequest req = TypeRequest.valueOf( str );

         if  ( TypeRequest.check == req ) {

        }  else   if  (...) {

        }...
...
Рейтинг: 0 / 0
jdk 5.0 вопрос по Enum
    #34175517
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати нет. Работает так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
        String s = "CHECK";
        TypeRequest tr = TypeRequest.valueOf(s);
        
         switch  (tr) {
             case  CHECK: {
                System.out.println("CHECK");
                 break ;
            }
             case  PAYMENT: {
                System.out.println("PAYMENT");
                 break ;
            }
             case  REVOKE: {
                System.out.println("REVOKE");
                 break ;
            }
             case  STATUS: {
                System.out.println("STATUS");
                 break ;
            }
             default : {
                 break ;
            }
        }
...
Рейтинг: 0 / 0
jdk 5.0 вопрос по Enum
    #34175655
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. switch работает только с примитивными типами и enum?
...
Рейтинг: 0 / 0
jdk 5.0 вопрос по Enum
    #34175735
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenт.е. switch работает только с примитивными типами и enum?

switch работает не со всеми примитивными типами и с работает с enum.
...
Рейтинг: 0 / 0
jdk 5.0 вопрос по Enum
    #34175805
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenт.е. switch работает только с примитивными типами и enum?
- в Java 2 switch работает только с типом int и всем, что к нему неявно приводится: byte, short, char
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / jdk 5.0 вопрос по Enum
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]