java.lang.reflect.Array ক্লাসটি জাভার রিফ্লেকশন প্যাকেজের একটি গুরুত্বপূর্ণ অংশ, যা আপনাকে ডাইনামিকভাবে অ্যারে তৈরি এবং পরিচালনা করতে সাহায্য করে। সাধারণত অ্যারে তৈরি এবং পরিচালনা করার জন্য জাভায় সরাসরি অ্যারে সিম্বল বা কিউব্লের ব্র্যাকেট ([]) ব্যবহার করা হয়, তবে রিফ্লেকশন ব্যবহার করে আপনি রানটাইমে অ্যারে সম্পর্কিত বিভিন্ন কাজ করতে পারেন। Array ক্লাসের মাধ্যমে আপনি বিভিন্ন অ্যারে অপারেশন যেমন অ্যারে তৈরি, অ্যারের আকার পাওয়া, এবং অ্যারে থেকে মান পড়া বা লেখা করতে পারেন।
Array ক্লাসের ভূমিকা:
- ডাইনামিক অ্যারে তৈরি:
Arrayক্লাসের মাধ্যমে আপনি রানটাইমে ডাইনামিকভাবে অ্যারে তৈরি করতে পারেন। এটি অ্যারের টাইপ এবং আকার নির্ধারণ করে একটি নতুন অ্যারে অবজেক্ট তৈরি করে।
- অ্যারে এর দৈর্ঘ্য পাওয়া:
Array.getLength()মেথডের মাধ্যমে আপনি কোনো অ্যারের দৈর্ঘ্য (length) পেতে পারেন, যা আপনাকে অ্যারের সাইজ জানাতে সহায়তা করে।
- অ্যারে থেকে মান পঠন এবং লিখন:
Array.get()এবংArray.set()মেথড ব্যবহার করে আপনি অ্যারে থেকে মান পড়তে এবং নতুন মান সেট করতে পারেন।
- একাধিক ধরনের অ্যারে তৈরি:
Array.newInstance()মেথডের মাধ্যমে আপনি কোনও নির্দিষ্ট টাইপের নতুন অ্যারে তৈরি করতে পারেন, যা স্ট্যাটিক টাইপিংয়ের চেয়ে বেশি ডাইনামিক এবং ফ্লেক্সিবল।
Array ক্লাসের প্রধান মেথডগুলি:
Array.newInstance(Class<?> componentType, int length):- একটি নতুন অ্যারে অবজেক্ট তৈরি করে যার কম্পোনেন্ট টাইপ এবং দৈর্ঘ্য আপনি নির্দিষ্ট করেন।
উদাহরণ:
Array.newInstance(Integer.class, 10); // ১০ আকারের Integer টাইপের অ্যারে তৈরি
Array.get(Object array, int index):- অ্যারে থেকে নির্দিষ্ট ইনডেক্সের মান উদ্ধার করে।
উদাহরণ:
Object value = Array.get(array, 0); // অ্যারে থেকে ০ ইনডেক্সের মান পাওয়া
Array.set(Object array, int index, Object value):- অ্যারে এর নির্দিষ্ট ইনডেক্সে একটি নতুন মান সেট করে।
উদাহরণ:
Array.set(array, 0, 100); // অ্যারে এর ০ ইনডেক্সে ১০০ মান সেট করা
Array.getLength(Object array):- অ্যারে এর দৈর্ঘ্য বা সাইজ প্রদান করে।
উদাহরণ:
int length = Array.getLength(array); // অ্যারে এর দৈর্ঘ্য পাওয়া
Array ক্লাসের মাধ্যমে অ্যারে ব্যবহারের উদাহরণ:
import java.lang.reflect.Array;
public class ArrayReflectionExample {
public static void main(String[] args) {
try {
// নতুন Integer অ্যারে তৈরি করা
Integer[] intArray = (Integer[]) Array.newInstance(Integer.class, 5);
// অ্যারে এ মান সেট করা
Array.set(intArray, 0, 10);
Array.set(intArray, 1, 20);
Array.set(intArray, 2, 30);
Array.set(intArray, 3, 40);
Array.set(intArray, 4, 50);
// অ্যারে এর দৈর্ঘ্য পাওয়া
int length = Array.getLength(intArray);
System.out.println("Array Length: " + length);
// অ্যারে থেকে মান পড়া
for (int i = 0; i < length; i++) {
System.out.println("Element at index " + i + ": " + Array.get(intArray, i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
কোডের ব্যাখ্যা:
Array.newInstance(Integer.class, 5):- এখানে
Array.newInstance()মেথড ব্যবহার করে একটিIntegerটাইপের ৫ আকারের অ্যারে তৈরি করা হচ্ছে।
- এখানে
Array.set(intArray, 0, 10):- অ্যারে
intArrayএর ০ ইনডেক্সে ১০ মান সেট করা হচ্ছে।
- অ্যারে
Array.getLength(intArray):Array.getLength()মেথডটিintArrayঅ্যারের দৈর্ঘ্য (৫) রিটার্ন করবে।
Array.get(intArray, i):- অ্যারে থেকে মান পড়ার জন্য
Array.get()মেথডটি ব্যবহার করা হচ্ছে।
- অ্যারে থেকে মান পড়ার জন্য
আউটপুট:
Array Length: 5
Element at index 0: 10
Element at index 1: 20
Element at index 2: 30
Element at index 3: 40
Element at index 4: 50
Array ক্লাসের সুবিধা:
- ডাইনামিক অ্যারে তৈরি: এটি আপনাকে অ্যারে তৈরি করতে দেয় যা সাধারণভাবে কম্পাইল টাইমে জানানো সম্ভব নয়।
- টাইপ সেফটি: আপনি
Array.newInstance()মেথড ব্যবহার করে টাইপ নির্ধারণ করতে পারেন, যার মাধ্যমে টাইপ সেফটি নিশ্চিত হয়। - অ্যারে ম্যানিপুলেশন: অ্যারে এর মধ্যে মান পড়া এবং সেট করা ডাইনামিকভাবে সম্ভব হয়, যেটি সাধারণভাবে সরাসরি অ্যারে ব্যবহার করলে করা যায় না।
java.lang.reflect.Array ক্লাসটি জাভার রিফ্লেকশন প্যাকেজের একটি গুরুত্বপূর্ণ অংশ যা আপনাকে রানটাইমে অ্যারে তৈরি এবং পরিচালনা করতে সহায়তা করে। এটি আপনাকে আরও ফ্লেক্সিবল এবং ডাইনামিক কোড লেখার সুযোগ দেয়, বিশেষত যখন আপনি অজানা অ্যারে টাইপের সাথে কাজ করছেন।
Read more