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

时间:2012-10-19 00:30:04

标签: java syntax switch-statement

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

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

有没有办法可以将案例1,2和3合并为一个案例,因为他们都使用相同的方法?

4 个答案:

答案 0 :(得分:18)

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

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

答案 1 :(得分:6)

当然,您可以允许1 {和1}的case子句部分在此之后,在break语句之后,对于第3条,然后switch进行“翻查”:

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

答案 2 :(得分:3)

以下是您可以做的最好的事情

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

答案 3 :(得分:3)

它被称为“堕落”模式:

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