Matrix 实现开关箱+;矩阵的if-else条件

Matrix 实现开关箱+;矩阵的if-else条件,matrix,java-6,Matrix,Java 6,我有两个枚举 public enum CASES { CASE1, CASE2, CASE3, CASE4 }; 现在我必须实现如下逻辑条件 private CASES getCondition(final CASES firstLevel, final CASES secondLevel){ Switch(firstLevel) { case CASE1: if(secondLevel == CASES.CASE1) ret

我有两个枚举

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实现是否是一种可能的解决方案
  • 另外,对于这种逻辑实现是否有任何现有的解决方案
请帮忙