ฉันแค่สงสัยว่าทำไมswitchคำสั่งJava 7 ไม่รองรับnullเคสและโยนแทนNullPointerException? ดูบรรทัดแสดงความคิดเห็นด้านล่าง (ตัวอย่างจากบทความ Java Tutorials บน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จะทำให้เกิดข้อยกเว้น ทำการifตรวจสอบnullจากนั้นเข้าไปในswitchคำสั่ง