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;
        }
        
    }
    

}