今天我写了一个方法,其中使用了嵌套的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;
}
那么我的问题本质上是,有没有适合替代这些开关语句的方法?