switch كتعبير يُرجع قيمةً — لا break ولا تسقيط.
مقارنة الكود
✕ Java 8
String msg;
switch (day) {
case MONDAY:
msg = "Start";
break;
case FRIDAY:
msg = "End";
break;
default:
msg = "Mid";
}
✓ Java 14+
String msg = switch (day) {
case MONDAY -> "Start";
case FRIDAY -> "End";
default -> "Mid";
};
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
يُرجع قيمة
أسنِد نتيجة switch مباشرةً — لا متغير مؤقت مطلوب.
لا تسقيط
بنية السهم تُزيل أخطاء التسقيط العرضية من break المفقود.
فحص الشمولية
المترجم يضمن تغطية جميع الحالات.
الأسلوب القديم
جملة switch
الأسلوب الحديث
تعبير switch
منذ JDK
14
الصعوبة
مبتدئ
دعم JDK
تعبيرات switch
متاح
متاح على نطاق واسع منذ JDK 14 (مارس 2020)
كيف يعمل
تُرجع تعبيرات switch قيمةً مباشرةً وتستخدم بنية السهم لمنع أخطاء التسقيط ويتحقق المترجم من الشمولية. يستبدل هذا الصيغة الجملية عرضة الأخطاء.
توثيق ذو صلة