私のアプリでは、入力がいくつかの特定の20のエントリと一致する場合、私は分岐する必要があります。複雑なif()またはenum?
私が列挙
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;
}
を行うにはenum定数のスイッチを使用するのではと思った。しかし「である」のような入力文字列がなる、「ではありません単語の間に_がないなどの前にあります。 enumには空白を含む定数がありません。
可能な方法私は作ることができます:
1を使用して文が挿入するための入力に長いif文
if(input.equals("is on") ||
input.equals("is not on") ||
input.equals("is before") ...) { // function() }
2、のような仕事を与えて20の可能な入力を比較する場合_単語の間この20の下にない他の入力文字列であっても、複数の単語を持つことができます。
これを実装するより良い方法はありますか?あなたは、Java 7を使用している場合、あなたはまた、ここで真ん中の道を選択し、文字列でswitch
ステートメントを行うことができます
Java 7では、文字列をオンにすることができます。 –