Этот вопрос в основном является продолжением моего предыдущего вопроса. Я задал предыдущему вопросу быть уверенным, что константы перечисления заполнены при загрузке класса. Вот мой класс снова с добавлением простого метода GetByName < /code>: < /p>
public enum PropName {
CONTENTS("contents"),
USE_QUOTES("useQuotes"),
ONKEYDOWN("onkeydown"),
BROWSER_ENTIRE_TABLE("browseEntireTable"),
COLUMN_HEADINGS("columnHeadings"),
PAGE_SIZE("pageSize"),
POPUP_TITLE("popupTitle"),
FILTER_COL("filterCol"),
SQL_SELECT("sqlSelect"),
;
private String name;
private PropName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public static PropName getByName(String name){
return PropName.valueOf(name);
}
}
< /code>
Вызов метода GetByName ("columnHeadings") < /code> бросает java.lang.illegalargumentException: no enum const class public static PropName getByName(String name){
for(PropName prop : values()){
if(prop.getName().equals(name)){
return prop;
}
}
throw new IllegalArgumentException(name + " is not a valid PropName");
}
< /code>
Есть идеи относительно того, что я делаю здесь не так? < /p>
Подробнее здесь: https://stackoverflow.com/questions/126 ... st-class-e