অপশনাল চেইনিং (Optional Chaining)
নেস্টেড null চেকগুলোকে একটি অপশনাল পাইপলাইন দিয়ে প্রতিস্থাপন করুন।
কোড তুলনা
✕ Java 8
String city = null;
if (user != null) {
Address addr = user.getAddress();
if (addr != null) {
city = addr.getCity();
}
}
if (city == null) city = "Unknown";
✓ Java 9+
String city = Optional.ofNullable(user)
.map(User::address)
.map(Address::city)
.orElse("Unknown");
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
চেইনেবল (Chainable)
প্রতিটি .map() স্টেপ null ভ্যালুকে স্বচ্ছভাবে হ্যান্ডেল করে।
লিনিয়ার ফ্লো (Linear Flow)
নেস্টেড if-ব্লকের পরিবর্তে বাম থেকে ডানে (left-to-right) পঠনযোগ্য ফ্লো।
NPE-প্রুফ
প্রতিটি ধাপে null হ্যান্ডেল করা হয় – কোনো ক্র্যাশ হওয়া সম্ভব নয়।
পুরনো পদ্ধতি
নেস্টেড Null চেক
আধুনিক পদ্ধতি
অপশনাল পাইপলাইন (Optional Pipeline)
JDK থেকে
9
কঠিনতা
প্রাথমিক
JDK সমর্থন
অপশনাল চেইনিং (Optional Chaining)
উপলব্ধ
JDK 8+ থেকে উপলব্ধ (9+ এ উন্নত)
কীভাবে কাজ করে
Optional.map() মেথডটি null ভ্যালুগুলোর মধ্যে চেইন তৈরি করে এবং প্রথম null এ পৌঁছালে শর্ট-সার্কিট (short-circuiting) করে। orElse() মেথডটি ডিফল্ট ভ্যালু প্রদান করে। এটি পিরামিড-অব-ডুম (pyramid-of-doom) null চেকিং দূর করে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ