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

Zar*_*pel 10 java syntax switch-statement

我在一个交换机中有多个案例做同样的事情,如下所示:(这是用Java编写的)

 case 1:
     aMethod();
     break;
 case 2:
     aMethod();
     break;
 case 3:
     aMethod();
     break;
 case 4:
     anotherMethod();
     break;
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以将案例1,2和3合并到一个案例中,因为它们都调用相同的方法?

Ted*_*opp 19

case 1:
case 2:
case 3:
    aMethod();
    break;
case 4:
    anotherMethod();
    break;
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为当它碰巧是案例1(例如)时,它会落到案例2(没有break语句),然后落到案例3.


Rei*_*eus 6

当然,你可以允许case1和2的子句部分"掉到"第3条,然后breakswitch声明之后:

case 1:
case 2:
case 3:
     aMethod();
     break;
case 4:
     anotherMethod();
     break;
Run Code Online (Sandbox Code Playgroud)