Строка Java для перечисления - PullRequest
0 голосов
/ 18 мая 2011

У меня есть конструктор этого класса AppData(Map params, Operations operation)где Операции это

public enum Operations 
{
create,update,delete,view,compare
}

Как мне создать экземпляр AppData с конструктором параметров?

для параметра карты это хорошо, я получаю это из сервлета, (req.getParameterMap ())но главная проблема для меня - это знать тип операции, который также исходит из параметра карты. Итак, чтобы сделать это AppData data=new AppData(req.getParameterMap(),op);, что я должен присвоить op или каков будет тип op?

Примечание: я могу получить String create, update ... из req.getParameterMap(), используя итератор и Map.Entry object.getKey () и Value

1 Ответ

3 голосов
/ 18 мая 2011

Если вы начинаете со строки (например, "update"), вы можете использовать Enum.valueOf.Ваше перечисление Operations унаследует такую ​​форму, поэтому:

Operations op = Operations.valueOf(theString);

... или используйте тот из Enum, хотя вам действительно придется делать это только в том случае, еслииметь прямой доступ во время компиляции к Operations.Я думаю, что у вас есть доступ во время компиляции, так что используйте выше.Но для полноты:

Object op = Enum.valueOf(Class.forName("Operations"), theString);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...