私は現在パーサーに取り組んでいます。私は木を歩きますが、そのほとんどはかなり決定論的です(見つけることができる値の数には限りがあります)。
通常、これらの場合、次のように、検索する予定の値の名前で列挙型を作成します。
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);
今のところ、私はどこでも列挙型を使用していますが、これらの要素では、テーブルを使用しています。これを調和させたい
ところで、いくつかの依存関係があるため、私はJava6を使用しています。
アイデアは大歓迎です、ありがとう!
編集 :
これが私が使用している現在のテーブルバージョンの例です:
public static String[] compElements = {">", "<", "<>", "=", "<=", ">="};
valueOfと同等のもの:
Arrays.asList(compElements).contains(my_string);