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