Streams মধ্যম

নেস্টেড চেক ছাড়াই Optional ফলব্যাক চেইন করুন।

✕ Java 8
Optional<Config> cfg = primary();
if (!cfg.isPresent()) {
    cfg = secondary();
}
if (!cfg.isPresent()) {
    cfg = defaults();
}
✓ Java 9+
Optional<Config> cfg = primary()
    .or(this::secondary)
    .or(this::defaults);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
🔗

চেইনেবল (Chainable)

একটি পঠনযোগ্য পাইপলাইনে ফলব্যাকগুলো স্ট্যাক করুন।

লেজি ইভালুয়েশন (Lazy Evaluation)

ফলব্যাক সাপ্লায়ারগুলো কেবল প্রয়োজন হলেই এক্সিকিউট (execute) হয়।

📖

ডিক্লারেটিভ (Declarative)

এটি 'প্রাইমারি চেষ্টা করুন, অথবা সেকেন্ডারি, অথবা ডিফল্ট' এর মতো পঠনযোগ্য।

পুরনো পদ্ধতি
নেস্টেড ফলব্যাক
আধুনিক পদ্ধতি
.or() চেইন
JDK থেকে
9
কঠিনতা
মধ্যম
Optional.or() ফলব্যাক
উপলব্ধ

JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ

Optional.or() মেথডটি যদি অরিজিনাল অপশনালে ভ্যালু থাকে তাহলে সেটি রিটার্ন করে, অন্যথায় বিকল্প অপশনাল পাওয়ার জন্য সাপ্লায়ারকে (supplier) ইভালুয়েট (evaluate) করে। সাপ্লায়ারগুলো লেজি (lazy) – অর্থাৎ কেবল প্রয়োজন হলেই কল করা হয়।