একটি র্যাপার ক্লাস হল একটি ক্লাস যেটি প্রিমিটিভ ডেটা টাইপ (int, char, short, byte ইত্যাদি) ধারণ করে। অন্য কথায়, র্যাপার ক্লাস প্রিমিটিভ ডেটা টাইপকে অবজেক্ট হিসেবে ব্যবহার করার পথ প্রদান করে। এই র্যাপার ক্লাসগুলো java.util প্যাকেজ-এর অধীনে থাকে।
র্যাপার ক্লাস কেন প্রয়োজন
- র্যাপার ক্লাস প্রিমিটিভ ডেটা টাইপকে অবজেক্টে রূপান্তর করে। অবজেক্ট প্রয়োজন হয় যদি আমরা মেথডে পাস করা আর্গুমেন্ট মডিফাই করতে চাই (কারণ প্রিমিটিভ টাইপ পাস-বাই-ভ্যালু)।
- java.util প্যাকেজ-এ ক্লাসগুলো শুধু অবজেক্ট হ্যান্ডেল করে এবং এখানেও র্যাপার ক্লাস সাহায্য করে।
- কলেকশন ফ্রেমওয়ার্কের ডেটা স্ট্রাকচার যেমন ArrayList এবং Vector শুধু অবজেক্ট (রেফারেন্স টাইপ) সংরক্ষণ করে, প্রিমিটিভ টাইপ না।
- মাল্টিথ্রেডিং-এ সিনক্রোনাইজেশন সাপোর্ট করার জন্য অবজেক্ট প্রয়োজন।
র্যাপার ক্লাসের জাভাতে বাস্তবায়ন
র্যাপার ক্লাসে অটোবক্সিং (Autoboxing)
অটোবক্সিং ব্যবহার করা হয় প্রিমিটিভ ডেটা টাইপকে সংশ্লিষ্ট অবজেক্টে রূপান্তর করার জন্য।
উদাহরণ
public class AutoBoxingTest {
public static void main(String args[]) {
int num = 10; // int প্রিমিটিভ
Integer obj = Integer.valueOf(num); // র্যাপার ক্লাস অবজেক্ট তৈরি
System.out.println(num + " " + obj);
}
}
আউটপুট
10 10
র্যাপার ক্লাসে আনবক্সিং (Unboxing)
আনবক্সিং ব্যবহার করা হয় র্যাপার ক্লাস অবজেক্টকে সংশ্লিষ্ট প্রিমিটিভ ডেটা টাইপে রূপান্তর করার জন্য।
উদাহরণ
public class UnboxingTest {
public static void main(String args[]) {
Integer obj = new Integer(10); // র্যাপার ক্লাস অবজেক্ট তৈরি
int num = obj.intValue(); // র্যাপার অবজেক্টকে প্রিমিটিভ ডেটা টাইপে রূপান্তর
System.out.println(num + " " + obj);
}
}
আউটপুট
10 10