Objects.requireNonNullElse()
একটি পরিষ্কার ডিফল্ট ভ্যালু সহ একটি নন-নাল ভ্যালু (non-null value) পান, কোনো টারনারি (ternary) এর প্রয়োজন নেই।
কোড তুলনা
✕ Java 8
String name = input != null
? input
: "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
.requireNonNullElse(
input, "default"
);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
পরিষ্কার উদ্দেশ্য
মেথডের নামটি এটি কী কাজ করে তা স্পষ্টভাবে বর্ণনা করে।
Null-সেফ ডিফল্ট
ডিফল্ট ভ্যালুটিও null এর জন্য চেক করা হয়।
পঠনযোগ্য
সহজ null-or-default লজিকের জন্য টারনারির চেয়ে এটি অনেক ভালো।
পুরনো পদ্ধতি
টারনারি Null চেক
আধুনিক পদ্ধতি
requireNonNullElse()
JDK থেকে
9
কঠিনতা
প্রাথমিক
JDK সমর্থন
Objects.requireNonNullElse()
উপলব্ধ
JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
requireNonNullElse মেথডটি প্রথম আর্গুমেন্টটি নন-নাল হলে সেটি রিটার্ন করে, অন্যথায় দ্বিতীয় আর্গুমেন্টটি রিটার্ন করে। ডিফল্ট ভ্যালুটি নিজেই null হতে পারে না – যদি উভয়ই null হয়, তাহলে এটি NPE থ্রো করে, যা শুরুর দিকেই বাগ ধরতে সাহায্য করে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ