Я использую библиотеку, которая стороннего программного имеет класс перечислимую, который, как показано ниже:JDK1.7 - получение постоянной перечислимую с точками в их значениях
public enum Version {
VERSION_2_0("v2.0"),
VERSION_2_1("v2.1"),
VERSION_2_2("v2.2")
private final String urlElement;
Version(String urlElement) {
this.urlElement = urlElement;
}
public String getUrlElement() {
return this.urlElement;
}
public boolean isUrlElementRequired() {
return null != this.urlElement;
}
}
Я читала версию из реквизита файла, который я хочу перейти к этому перечисление, чтобы получить соответствующую константу перечисления, как это:
String str="v2.2"; //this i get from a props file
System.out.println("version enum: "+Version.valueOf(str));
Я получаю ниже исключения:
Exception in thread "main" java.lang.IllegalArgumentException: No enum constant com.pkg.Version.v2.2
Кажется, что «v2.2» не рассматривается как одна строка. Я пробовал несколько способов, избегая точки в строке, но никто из них не работает. Я использую JDK1.7. Так кто-нибудь столкнулся с этим, пожалуйста, посоветуйте.
Показать полное объявление 'enum'. Вам нужно будет добавить метод для поиска константы 'enum', используя ваши значения. –
Привет, я обновил вопрос с полным классом enum. – kaluva