Java 7 switchステートメントがnullケースをサポートせず、代わりにスローするのはNullPointerExceptionなぜですか。以下のコメント付きの行を参照してください(例については、Javaチュートリアルの記事switchから引用しています)。
{
    String month = null;
    switch (month) {
        case "january":
            monthNumber = 1;
            break;
        case "february":
            monthNumber = 2;
            break;
        case "march":
            monthNumber = 3;
            break;
        //case null:
        default: 
            monthNumber = 0;
            break;
    }
    return monthNumber;
}
これにより、ifすべてのswitch使用前にnullチェックの条件が回避されます。
nullすると、例外が発生します。のifチェックを実行してnullから、switchステートメントに進みます。
                NullPointerException式が評価されるかどうかをスローするnull]は、switchステートメント全体を暗黙的にスキップするか、または後にステートメント(ある場合)を実行することを選択するよりも良い結果です。デフォルトのラベル(存在する場合)。