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