instanceof-এর জন্য প্যাটার্ন ম্যাচিং (Pattern matching for instanceof)
প্যাটার্ন ম্যাচিং ব্যবহার করে টাইপ চেক (type check) এবং কাস্ট (cast) কে এক স্টেপে একত্রিত করুন।
কোড তুলনা
✕ Java 8
if (obj instanceof String) {
String s = (String) obj;
int length = s.length();
// do something with 'length'
}
✓ Java 16+
if (obj instanceof String s) {
int length = s.length();
// do something with 'length'
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
কোনো অপ্রয়োজনীয় কাস্ট নেই
টাইপ চেক এবং ভ্যারিয়েবল বাইন্ডিং একটি সিঙ্গেল এক্সপ্রেশনেই সম্পন্ন হয়।
কম লাইন
দুটির পরিবর্তে একটি লাইন – কাস্ট লাইনটি সম্পূর্ণরূপে বিলুপ্ত হয়ে যায়।
স্কোপ সেফটি (Scope Safety)
প্যাটার্ন ভ্যারিয়েবল শুধুমাত্র সেই স্কোপে থাকে যেখানে টাইপটি নিশ্চিত (guaranteed) হয়।
পুরনো পদ্ধতি
instanceof + Cast
আধুনিক পদ্ধতি
প্যাটার্ন ভ্যারিয়েবল (Pattern Variable)
JDK থেকে
16
কঠিনতা
প্রাথমিক
JDK সমর্থন
instanceof-এর জন্য প্যাটার্ন ম্যাচিং (Pattern matching for instanceof)
উপলব্ধ
JDK 16 (মার্চ 2021) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
instanceof-এর জন্য প্যাটার্ন ম্যাচিং টাইপ চেকের পরে অপ্রয়োজনীয় কাস্টকে দূর করে। প্যাটার্ন ভ্যারিয়েবল স্বয়ংক্রিয়ভাবে স্কোপড (scoped) হয় যেখানে প্যাটার্নটি ম্যাচ করে, যা কোডকে আরও নিরাপদ এবং সংক্ষিপ্ত করে তোলে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ