Итак, сегодня я написал метод, который включал использование вложенных операторов 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?