2017-08-24 6 views
-1

私は10以下のスイッチケースを最小限に抑えようとしていますが、何度か試してみるとできません。誰か私は何をすべきか提案することができますか?Javaで10のスイッチケースを避けるには?

ありがとうございます。

private int getCode(String digit) { 

    int keycode = 0; 

    switch (digit) { 
     case "0": 
      keycode = AndroidKeyCode.KEYCODE_0; 
     break; 

     case "1": 
      keycode = AndroidKeyCode.KEYCODE_1; 
     break; 

     case "2": 
      keycode = AndroidKeyCode.KEYCODE_2; 
     break; 

     case "3": 
      keycode = AndroidKeyCode.KEYCODE_3; 
     break; 
    } 

    return keycode; 
} 

おかげ

+0

この投稿にも素晴らしい方法があります:https://codereview.stackexchange.com/questions/74743/long-switch-statement-to-lookup-fifty-something-commands – tima

+1

私は重複した質問にはOPが探している正確な答え、すなわち 'return(int)digit.charAt(0) - '0' + AndroidKeyCode.KEYCODE_0;'(ヌルとガベージ入力をチェックした後)。 –

答えて

-2

使用リフレクションAPI。 example プロガードを使用している場合は、プロガード規則も作成するか、プロガードを無効にする必要があります。

関連する問題