如果switch条件结尾没有明确的结束,会继续执行下一个条件。 有事是故意这样的,但大多数时候是一个错误,并会导致预期外的行为。
这个规则不会限制空条件。实际上这些空调间允许你为一组条件指定相同的行为。
如下代码演示了这个规则:
switch (myVariable) {
case 0: // Compliant
case 1: // Compliant
doSomething();
break;
case 2: // Compliant
return;
case 3: // Compliant
throw new IllegalStateException();
case 4: // Compliant
continue;
case 5: // Non-Compliant - both 'doSomething()' and 'doSomethingElse()' will be executed
doSomething();
default: // Non-Compliant
doSomethingElse();
}