JAVA.SWITCH.DEFAULT.POSITION
デフォルトのラベルが switch ステートメントの最初または最後にありません。
脆弱性とリスク
デフォルトのラベルが switch ステートメントの最初または最後に配置されていない場合、保守性が損なわれたり、誤ったコーディングによって意図しない動作が発生する場合があります。
軽減と防止
switch ステートメントの最初または最後にデフォルトのラベルを配置します。
例 1
コピー
public class C03 {
/* default located at first */
public void testOK1(int num) {
switch (num) {
default:
break;
case 1:
break;
case 2:
break;
}
}
/* default located at last */
public void testOK2(int num) {
switch (num) {
case 1:
break;
case 2:
break;
default:
break;
}
}
/* default located in the middle */
public void testNG1(int num) {
switch (num) {
case 1:
break;
default:
break;
case 2:
break;
}
}
}