在我的应用程序中,如果输入匹配某些特定的20个条目,我需要分支.
我想过使用枚举
public enum dateRule { is_on, is_not_on, is_before,...}
并打开枚举常量来执行一个函数
switch(dateRule.valueOf(input))
{
case is_on :
case is_not_on :
case is_before :
.
.
.
// function()
break;
}
但是输入字符串将像’is on’,’is not on’,’is before’等,而不是_之间的_.
我了解到枚举不能包含包含空格的常量.
可能的方法我可以说出来:
1,使用if语句比较给出long if语句的20个可能输入
if(input.equals("is on") ||
input.equals("is not on") ||
input.equals("is before") ...) { // function() }
2,处理输入以在单词之间插入_,但即使是不属于此20的其他输入字符串也可以有多个单词.
有没有更好的方法来实现这个?