Typesafe Containers হল এমন ডেটা স্ট্রাকচার যা type-safety নিশ্চিত করে, অর্থাৎ, এতে শুধুমাত্র একটি নির্দিষ্ট ধরনের ডেটা রাখা সম্ভব। এতে generic types ব্যবহৃত হয়, যার মাধ্যমে একটি ডেটা স্ট্রাকচারে শুধুমাত্র একটি নির্দিষ্ট ধরনের অবজেক্ট সংরক্ষিত হয় এবং টাইপ সম্পর্কিত ত্রুটি এড়ানো যায়। Apache Commons Collections লাইব্রেরি Typesafe Containers তৈরি করতে সহায়তা করে।
Typesafe Containers ব্যবহার করার মাধ্যমে আপনি:
Typesafe Containers হল সেই ধরনের কন্টেইনার বা সংগ্রহ (যেমন, List, Set, Map) যা কেবলমাত্র নির্দিষ্ট ধরনের (types) ডেটা ধারণ করতে সক্ষম। এটি type-safe collections তৈরি করতে ব্যবহৃত হয়, যা কেবলমাত্র একটি নির্দিষ্ট type এর অবজেক্ট ধারণ করতে পারে।
এটি Generics এর মাধ্যমে কাজ করে, যেখানে আপনি কন্টেইনারে generic type parameters ব্যবহার করে ডেটার ধরন (type) নির্ধারণ করতে পারেন। এতে আপনি টাইপের ত্রুটিগুলি কমাতে সক্ষম হবেন, যা সাধারণভাবে runtime errors সৃষ্টি করে।
Apache Commons Collections লাইব্রেরি ব্যবহার করে আমরা একটি typesafe container তৈরি করতে পারি, যেখানে একটি নির্দিষ্ট ধরনের ডেটা সংরক্ষিত থাকবে। উদাহরণস্বরূপ, একটি List তৈরি করা যেটিতে শুধুমাত্র String ধরনের ডেটা রাখা যাবে।
import org.apache.commons.collections4.list.TypedList;
import org.apache.commons.collections4.list.TreeList;
import java.util.List;
public class TypesafeContainerExample {
public static void main(String[] args) {
// Creating a typesafe list that can only hold Strings
List<String> typesafeList = new TypedList<>(new TreeList<>());
// Adding elements to the list
typesafeList.add("apple");
typesafeList.add("banana");
typesafeList.add("cherry");
// Trying to add an element of a different type will result in a compile-time error
// typesafeList.add(123); // This line will cause a compile-time error because 123 is not a String
// Print the typesafe list
System.out.println(typesafeList); // Output: [apple, banana, cherry]
}
}
এখানে:
আউটপুট:
[apple, banana, cherry]
এখন ধরা যাক, আপনি একটি Map তৈরি করতে চান, যেখানে কী এবং মান উভয়ই String ধরনের হবে। Typesafe করার জন্য আপনি Map-এ টাইপ নির্দিষ্ট করতে পারেন।
import org.apache.commons.collections4.map.TypedMap;
import org.apache.commons.collections4.map.HashedMap;
import java.util.Map;
public class TypesafeMapExample {
public static void main(String[] args) {
// Creating a typesafe map with String as both key and value types
Map<String, String> typesafeMap = new TypedMap<>(new HashedMap<>());
// Adding key-value pairs to the map
typesafeMap.put("name", "John Doe");
typesafeMap.put("city", "New York");
// Trying to add an element with a different type will result in a compile-time error
// typesafeMap.put(1, "invalid"); // This line will cause a compile-time error because 1 is not a String
// Print the typesafe map
System.out.println(typesafeMap); // Output: {name=John Doe, city=New York}
}
}
এখানে:
আউটপুট:
{name=John Doe, city=New York}
Apache Commons Collections এর মধ্যে TypedMap, TypedList, TypedSet এবং অন্যান্য typesafe containers রয়েছে। এগুলি Java এর generic types এর সাথে মিলে গিয়ে ডেটা নিরাপত্তা নিশ্চিত করতে সাহায্য করে।
Typesafe Containers ব্যবহার করে আপনি নিচের সুবিধাগুলি উপভোগ করতে পারেন:
Apache Commons Collections লাইব্রেরি Typesafe Containers তৈরি করার জন্য শক্তিশালী সরঞ্জাম প্রদান করে, যা type-safety নিশ্চিত করে। আপনি TypedMap, TypedList, TypedSet ইত্যাদি ব্যবহার করে নিশ্চিত করতে পারেন যে কন্টেইনারে শুধুমাত্র একটি নির্দিষ্ট টাইপের ডেটা থাকবে এবং টাইপ সম্পর্কিত ত্রুটি থেকে মুক্ত থাকবেন। Typesafe Containers ব্যবহারে আপনি compile-time type checking এবং runtime safety উপভোগ করতে পারেন, যা কোডের নিরাপত্তা এবং কার্যকারিতা বৃদ্ধি করে।
common.read_more