所以我今天写了一个方法,结合了嵌套 switch 语句的使用,代码在我看来相当干净简洁,但有人告诉我嵌套 switch 语句通常不是最好的方法,因为它们可能会混淆更多您添加的 switch 语句。这是我的代码的示例:
EnumOne enumOne;
EnumTwo enumTwo = null;
EnumTwo enumThree = null;
switch (enumOne) {
case CASE_ONE:
switch (enumTwo){
case A: enumTwo = EnumTwo.B; break;
case C: enumTwo = EnumTwo.D; break;
default: break;
}
switch (enumThree) {
case AA: enumThree = EnumTwo.BB; break;
case CC: enumThree = EnumTwo.DD; break;
default: break;
}
break;
case CASE_TWO:
case CASE_THREE:
switch(EnumTwo) {
default: break;
}
switch (enumThree) {
case AA: enumThree = EnumTwo.XX; break;
case CC: enumThree = EnumTwo.YY; break;
default: break;
}
break;
default:
break;
}
所以我的问题是,本质上,这些 switch 语句的合适替代方案是什么?