Language মধ্যম

পরিষ্কার সুইচ টাইপ প্যাটার্ন ব্যবহার করে if-else instanceof চেইনগুলোকে প্রতিস্থাপন করুন।

✕ Java 8
String format(Object obj) {
    if (obj instanceof Integer i)
        return "int: " + i;
    else if (obj instanceof Double d)
        return "double: " + d;
    else if (obj instanceof String s)
        return "str: " + s;
    return "unknown";
}
✓ Java 21+
String format(Object obj) {
    return switch (obj) {
        case Integer i -> "int: " + i;
        case Double d  -> "double: " + d;
        case String s  -> "str: " + s;
        default        -> "unknown";
    };
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
📐

স্ট্রাকচার্ড ডিসপ্যাচ (Structured Dispatch)

সুইচ ব্রাঞ্চিং স্ট্রাকচারকে সুস্পষ্ট এবং স্ক্যানেবল করে তোলে।

🎯

এক্সপ্রেশন ফর্ম (Expression Form)

সরাসরি একটি ভ্যালু রিটার্ন করে – কোনো মিউটেবল ভ্যারিয়েবলের প্রয়োজন নেই।

এক্সহস্টিভনেস (Exhaustiveness)

কম্পাইলার নিশ্চিত করে যে সব টাইপ হ্যান্ডেল করা হয়েছে।

পুরনো পদ্ধতি
if-else চেইন
আধুনিক পদ্ধতি
টাইপ প্যাটার্নস (Type Patterns)
JDK থেকে
21
কঠিনতা
মধ্যম
সুইচ-এ প্যাটার্ন ম্যাচিং (Pattern matching in switch)
উপলব্ধ

JDK 21 LTS (সেপ্টেম্বর 2023) থেকে ব্যাপকভাবে উপলব্ধ

সুইচ-এ প্যাটার্ন ম্যাচিং আপনাকে সরাসরি টাইপের সাথে ম্যাচ করতে দেয়, টাইপ টেস্ট, কাস্ট এবং বাইন্ডিংকে একটি সুসংক্ষিপ্ত কেইস লেবেলে একত্রিত করে। কম্পাইলার কমপ্লিটনেস চেক করে।