当多个案例执行相同的操作时,避免 Switch 语句冗余?

2022-09-05 00:18:00

我在一个开关中有多个案例可以做同样的事情,就像这样:(这是用Java编写的)

 case 1:
     aMethod();
     break;
 case 2:
     aMethod();
     break;
 case 3:
     aMethod();
     break;
 case 4:
     anotherMethod();
     break;

有没有办法将案例 1、2 和 3 合并为一个案例,因为它们都调用相同的方法?


答案 1
case 1:
case 2:
case 3:
    aMethod();
    break;
case 4:
    anotherMethod();
    break;

这是有效的,因为当它碰巧是情况1(例如)时,它会落到情况2(无语句),然后下降到情况3。break


答案 2

当然,您可以允许 1 和 2 的子句部分“落入”到第 3 条,然后退出该语句:casebreakswitch

case 1:
case 2:
case 3:
     aMethod();
     break;
case 4:
     anotherMethod();
     break;