ฉันแค่สงสัยว่าทำไม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
คำสั่ง