ইমিউটেবল (Immutable) লিস্ট তৈরি
একটি পরিষ্কার এক্সপ্রেশন ব্যবহার করে ইমিউটেবল লিস্ট তৈরি করুন।
কোড তুলনা
✕ Java 8
List<String> list =
Collections.unmodifiableList(
new ArrayList<>(
Arrays.asList("a", "b", "c")
)
);
✓ Java 9+
List<String> list =
List.of("a", "b", "c");
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
এক কলেই
তিনটি নেস্টেড কলকে একটি মাত্র ফ্যাক্টরি মেথড দিয়ে প্রতিস্থাপন করা যায়।
সত্যিকারের ইমিউটেবল
এটি কেবল একটি র্যাপার নয় – লিস্টটি নিজেই ইমিউটেবল।
null-সেফ
তৈরির সময়ই null এলিমেন্ট থাকলে তা প্রত্যাখ্যান করে, ফলে দ্রুত ত্রুটি ধরা পড়ে (failing fast)।
পুরনো পদ্ধতি
ভার্বোস র্যাপিং
আধুনিক পদ্ধতি
List.of()
JDK থেকে
9
কঠিনতা
প্রাথমিক
JDK সমর্থন
ইমিউটেবল (Immutable) লিস্ট তৈরি
উপলব্ধ
JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
List.of() একটি সত্যিকারের ইমিউটেবল লিস্ট তৈরি করে - এখানে কোনো র্যাপিং বা ডিফেন্সিভ কপির প্রয়োজন হয় না। এটি null-হোস্টাইল (অর্থাৎ null এলিমেন্ট গ্রহণ করে না) এবং কাঠামোগতভাবেও ইমিউটেবল। পুরোনো পদ্ধতিতে তিনটি নেস্টেড কল ব্যবহার করতে হতো।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ