如何在开关盒中写几个条件以具有相同的行为?

Osc*_*r F 0 java case switch-statement

switch (x)
{
case A:
case B:
case C:
.doSomething()
}
有没有办法让我在一行中有3个案例?比如这样的事情
case A, B, C:

Jas*_*n C 7

除了删除换行符并将它们case全部放在同一行上,没有.

你必须有三个case关键字和三个关键字:.

如果需要详细信息,请参阅JLS中的第14.11节.特别是:

SwitchLabel:
    case ConstantExpression :
    case EnumConstantName :
    default :
Run Code Online (Sandbox Code Playgroud)

存在这样会接受类似的语法无图案case A,B,C:SwitchLabel.

但是,通常的做法是在多个案例执行相同操作时按照示例构造案例:

switch (value) {
case 1:
case 3:
case 5:
    System.out.println("It's a positive odd number less than 7!"); 
    break;
case 4:
case 8:
    System.out.println("It's a multiple of 4 between 1 and 9!");
    break;
default:
    System.out.println("It's just another boring number.");
    break;
}
Run Code Online (Sandbox Code Playgroud)

Java程序员通常会在阅读代码时清楚地理解代码.将多个案例放在一行(即没有换行符)是不太常见的,并且不会像典型的程序员一样清楚地理解(他们可能只是认为你不小心删除了换行符).