সুইচ-এ null কেইস (Null case in switch)
সরাসরি একটি সুইচ কেইস হিসেবে null হ্যান্ডেল করুন – আলাদা গার্ডের প্রয়োজন নেই।
কোড তুলনা
✕ Java 8
// Must check before switch
if (status == null) {
return "unknown";
}
return switch (status) {
case ACTIVE -> "active";
case PAUSED -> "paused";
default -> "other";
};
✓ Java 21+
return switch (status) {
case null -> "unknown";
case ACTIVE -> "active";
case PAUSED -> "paused";
default -> "other";
};
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
সুস্পষ্ট
null হ্যান্ডলিং সরাসরি সুইচের মধ্যেই দৃশ্যমান।
কোনো NPE নেই
একটি null ভ্যালুর উপর সুইচ করলে NullPointerException থ্রো (throw) হবে না।
অল-ইন-ওয়ান (All-in-one)
null সহ সমস্ত কেইস একটি সিঙ্গেল সুইচ এক্সপ্রেশনে থাকে।
পুরনো পদ্ধতি
সুইচ-এর আগে গার্ড (Guard Before Switch)
আধুনিক পদ্ধতি
case null
JDK থেকে
21
কঠিনতা
প্রাথমিক
JDK সমর্থন
সুইচ-এ null কেইস (Null case in switch)
উপলব্ধ
JDK 21 LTS (সেপ্টেম্বর 2023) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
প্যাটার্ন ম্যাচিং সুইচ (Pattern matching switch) একটি কেইস লেবেল (case label) হিসেবে null-কে ম্যাচ করতে পারে। এটি সুইচের আগে null চেক করার প্রয়োজনীয়তা দূর করে এবং null হ্যান্ডলিংকে সুস্পষ্ট ও ভিজিবল করে তোলে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ