Vic*_*Vic 2 java string enumeration string-matching
我正在编写一个解析器来解析一个String数组,并为该文件中的每个单词分配一个数值.
我想要完成的是这样的:
如果在枚举中找不到该单词,则为parse()该数组的特定元素调用外部方法.
我的代码看起来类似于:
private enum Codes {keyword0, keyword1};
switch Codes.valueOf(stringArray[0])
{
case keyword0:
{
value = 0;
break;
}
case keyword1:
{
value = 1;
break;
}
default:
{
value = parse(StringArray[0]);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当它在输入中找到不等于"keyword0"或"keyword1"的东西时,我得到了
没有枚举const类
提前致谢!
ste*_*vls 11
当没有相应的枚举值时,总会IllegalArgumentException抛出.抓住这个,你很好.
try {
switch(Codes.valueOf(stringArray[0])) {
case keyword0:
value = 0;
break;
case keyword1:
value = 1;
break;
}
}
catch(IllegalArgumentException e) {
value = parse(stringArray[0]);
}
Run Code Online (Sandbox Code Playgroud)