কম্পিউটার টিউটোরিয়াল

জাভাতে অবজেক্ট প্যারামিটারের মধ্যরূপে অ্যারে ইনিশিয়ালাইজেশন

ক্লাসের অভ্যন্তরে ডিক্লেয়ার করা অ্যারে টাইপের ইনস্ট্যান্স ভেরিয়েবলকে সাধারণ ভেরিয়েবলের মতোই কনস্ট্রাক্টর বা সেটার মেথড দিয়ে ইনিশিয়ালাইজ করা যায়।

পদ্ধতি ১: কনস্ট্রাক্টর দিয়ে ইনিশিয়ালাইজেশন

public class Student {
    String name;
    int age;
    String subs[]; // অ্যারে ইনস্ট্যান্স ভেরিয়েবল

    // কনস্ট্রাক্টরে অ্যারে পাস করে ইনিশিয়ালাইজ
    Student(String name, int age, String subs[]) {
        this.name = name;
        this.age = age;
        this.subs = subs; // রেফারেন্স অ্যাসাইনমেন্ট
    }

    public void display() {
        System.out.println("Name: " + this.name);
        System.out.println("Age: " + this.age);
        System.out.print("Subjects: ");
        for(int i = 0; i < subs.length; i++) {
            System.out.print(subs[i] + " ");
        }
    }

    public static void main(String args[]) {
        String subs[] = {"Mathematics", "English", "Science", "Social"};
        Student obj = new Student("Krishna", 25, subs);
        obj.display();
    }
}

আউটপুট

Name: Krishna
Age: 25
Subjects: Mathematics English Science Social

পদ্ধতি ২: সেটার (Setter) মেথড দিয়ে ইনিশিয়ালাইজেশন

public class Student {
    String name;
    int age;
    String subs[];

    public void setName(String name) { this.name = name; }
    public void setAge(int age) { this.age = age; }
    public void setSubs(String[] subs) { this.subs = subs; } // সেটার

    public void display() { /* ... */ }

    public static void main(String args[]) {
        String subs[] = {"Mathematics", "English", "Science", "Social"};
        Student obj = new Student();
        obj.setName("Krishna");
        obj.setAge(25);
        obj.setSubs(subs); // সেটার কল
        obj.display();
    }
}

আউটপুট

Name: Krishna
Age: 25
Subjects: Mathematics English Science Social

গুরুত্বপূর্ণ নোট: এখানে অ্যারের রেফারেন্স কপি হয় (Shallow Copy)। যদি বাহ্যিকভাবে অ্যারের কন্টেন্ট পরিবর্তন করা হয়, তবে অবজেক্টের內部 স্টেটও পরিবর্তন হবে। Defensive Copying-এর জন্য কনস্ট্রাক্টর/সেটারে this.subs = Arrays.copyOf(subs, subs.length) বা subs.clone() ব্যবহার করুন।

  1. জাভাতে XML কে JSON অ্যারে-এ রূপান্তর করা

  2. জাভাতে JSON অবজেক্ট ডিকোড করুন

  3. জাভাতে বুলিয়ান অ্যারে ইনিশিয়ালাইজ করুন

  4. জাভা POJO কে JSON-এ কনভার্ট করা: Jackson এবং Gson ব্যবহার করে