Как прочитать значение из файла свойств типа enum? - PullRequest
5 голосов
/ 19 декабря 2011

У меня есть перечисление, как показано ниже:

public enum EnvironmentType {PRODUCTION, TEST, DEVELOPMENT}

в файле свойств значение ключа выглядит следующим образом:

app.environmentType = TEST

мы знаем, что когда я читаю значение из файла свойств, используя ключ, он возвращается как String, как

String envType = properties.getProperty("app.environmentType");

Мое требование:

EnvironmentType envType = EnvironmentType.TEST;

Теперь я хочу знать, есть ли способ получить значение типа enum?как я могу parse или cast это?

Ответы [ 2 ]

4 голосов
/ 19 декабря 2011
EnvironmentType envType =   EnvironmentType.valueOf(envTypeString);
3 голосов
/ 19 декабря 2011

Вы можете использовать метод valueOf следующим образом:

String envTypeStr = properties.getProperty("app.environmentType");
EnvironmentType envType = EnvironmentType.valueOf(envTypeStr);

Статические методы valueOf() и values() создаются во время компиляции и не появляются в исходном коде.Но они появляются в документации некоторых перечислений в библиотеке Java.Например, см. SortOrder и Normalizer.Form

...