我目前正在研究解析器。我走一棵树,其中大部分是非常确定的(我可以找到有限数量的值)。
通常在这些情况下,我会使用我希望找到的值的名称创建一个枚举,如下所示:
public enum myElements{
like,
not_like,// "not like" is transformed in not_like by parser
exists;
}
在这种情况下,我可以通过这种方式检查字符串是否属于枚举:
String my_string;
myElements.valueOf(my_string);
问题是目前我使用特殊字符({">"、"<"、"<>"、...)无法使用特殊字符创建枚举值。
我想要的是将枚举与那些特殊字符元素相关联,例如
public enum myElements{
greather_than(">"),
smaller_than("<")
}
并继续使用简单的东西:
myElements.valueOf(my_string);
目前我在所有地方都使用枚举,但对于这些元素,我使用 table。我想协调这个
顺便说一句,由于一些依赖关系,我使用 Java6。
欢迎提出想法,谢谢!
编辑 :
这是我使用的当前表格版本的示例:
public static String[] compElements = {">", "<", "<>", "=", "<=", ">="};
与 valueOf 等效:
Arrays.asList(compElements).contains(my_string);