3

私は2つの列挙型を持っています、

public enum CASES { CASE1, CASE2, CASE3, CASE4 };

ここで、以下のような論理条件を実装する必要があります。

private CASES getCondition(final CASES firstLevel, final CASES secondLevel){
 Switch(firstLevel) {
      case CASE1: 
            if(secondLevel == CASES.CASE1)
              return CASES.CASE1;
            else if(secondLevel == CASES.CASE2)
              return CASES.CASE1;
            else if(secondLevel == CASES.CASE3)
              return CASES.CASE4;
            else 
              return CASE3;
      case CASE2: 
              // Some combination logic as above;
      case CASE3: 
              // Some combination logic as above;
      case CASE4: 
              // Some combination logic as above;
       }

}

この条件は複雑すぎるため、マトリックスを使用して実装したいと思います。

  • マトリックスを使用して実装する最良の方法を提案できる人はいますか?
  • 列挙型をインデックスとして使用することは可能ですか?
  • EnumMap の EnumMap を使用した実装は可能な解決策ですか?
  • また、この種のロジック実装に対する既存のソリューションはありますか?

助けてください。

4

0 に答える 0