Language উন্নত

প্যাটার্ন ম্যাচিং এখন শুধু অবজেক্ট নয়, প্রিমিটিভ টাইপগুলোর (primitive types) সাথেও কাজ করে।

✕ Java 8
String classify(int code) {
    if (code >= 200 && code < 300)
        return "success";
    else if (code >= 400 && code < 500)
        return "client error";
    else
        return "other";
}
✓ Java 25 (Preview)
String classify(int code) {
    return switch (code) {
        case int c when c >= 200
            && c < 300 -> "success";
        case int c when c >= 400
            && c < 500 -> "client error";
        default -> "other";
    };
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
📦

কোনো বক্সিং (Boxing) নেই

প্রিমিটিভ টাইপগুলোকে সরাসরি ম্যাচ করুন – কোনো Integer র‍্যাপারের (wrapper) প্রয়োজন নেই।

🎯

প্যাটার্ন কনসিস্টেন্সি (Pattern Consistency)

অবজেক্ট এবং প্রিমিটিভ টাইপগুলোর জন্য একই প্যাটার্ন সিনট্যাক্স।

উন্নত পারফরম্যান্স

প্যাটার্ন ম্যাচিংয়ে অটোবক্সিংয়ের (autoboxing) অতিরিক্ত লোড এড়িয়ে যান।

পুরনো পদ্ধতি
ম্যানুয়াল রেঞ্জ চেকস (Manual Range Checks)
আধুনিক পদ্ধতি
প্রিমিটিভ প্যাটার্নস (Primitive Patterns)
JDK থেকে
25
কঠিনতা
উন্নত
প্যাটার্নে প্রিমিটিভ টাইপস (Primitive Types in Patterns)
প্রিভিউ

JDK 25-এ প্রিভিউ (তৃতীয় প্রিভিউ, JEP 507)। --enable-preview প্রয়োজন।

Java 25 প্যাটার্ন ম্যাচিংকে প্রিমিটিভ টাইপগুলোতে প্রসারিত করেছে। আপনি int, long, double ইত্যাদির মতো প্রিমিটিভ টাইপগুলো when গার্ড (when guards) সহ সুইচ প্যাটার্নে (switch patterns) ব্যবহার করতে পারবেন, যা বক্সিং বা ম্যানুয়াল রেঞ্জ চেকের (manual range checks) প্রয়োজনীয়তা দূর করে।