جاوا از اولین نسخه ای که منتشر شد تا الان تغییرات زیادی داشته سوییچ هم مستثنا از این قاعده نبوده و در JDK 17 LTS تغییرات قابل توجهی داشته تو این مقاله به طور خلاصه به این تغییرات میپردازیم
توجه:
در این مقاله i0, i1, i2, ... , ik و سمبل هایی از این قبیل فرضی هستن که میتوان هر مقدار دلخواهی رو بجاشون در نظر بگیریم
JDK < 1.8
قبل از JDK 1.8 شما فقط میتوانستید اعداد integer را به عنوان پارامتر داخل سوییچ پاس کنید
مثال:
JDK >= 1.8
از JDK 1.8 به بعد علاوه بر integer از string و enum هم پشتیبانی شد
مثال:
در JDK 17 چه اتفاقی برای سوییچ افتاده؟ بیایید باهم بررسی کنیم :)
JDK >= 17
۱-قابلیت بازگرداندن مقدار توسط سوییچ:
شما میتوانید هر چیزی را با کلید واژه ی yield برگردانید
مثال:
در این مثال myValue از نوع MyType هست و MyType متغیر فرضیه
۲-پشتیبانی از چند برچسبی:
در هر case میتوانید چند برچسب را مورد بررسی قرار بدید
مثال:
در کد بالا:
یعنی اگر s0 یا s2 درست بود بلاک را اجرا کن...
۳- علامت فلش:
میتونیم در case ها به جای دو نقطه از فلش استفاده کنیم
مثال:
جاوا تا این نسخه بروزرسانی های مختلفی درونش به وجود اومده که بهبود سوییچ یکی از این بروزرسانی ها درجاوا است.