Saya hanya bertanya-tanya mengapa pernyataan Java 7 switch
tidak mendukung null
kasus dan malah melempar NullPointerException
? Lihat baris komentar di bawah ini (contoh diambil dari artikel Tutorial Javaswitch
):
{
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;
}
Ini akan menghindari if
kondisi untuk pemeriksaan nol sebelum setiap switch
penggunaan.
null
akan menyebabkan pengecualian. Lakukan if
pemeriksaan null
, lalu masuk ke switch
pernyataan.
NullPointerException
jika ekspresi mengevaluasi ke null
saat runtime] adalah hasil yang lebih baik daripada melewatkan seluruh pernyataan switch atau memilih untuk mengeksekusi pernyataan (jika ada) setelah label default (jika ada).