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

জাভায় String এবং StringBuffer-এর পার্থক্য


String ইমিউটেবল (immutable) ক্লাস, একবার তৈরি হলে পরিবর্তন করা যায় না। নতুন অবজেক্ট তৈরি হয়। মাল্টিথ্রেডিং-এ থ্রেড-সেফ।

StringBuffer মিউটেবল (mutable) ক্লাস, স্ট্রিং ম্যানিপুলেশন (রিভার্স, ক্যাটেনেট) করার সুবিধা দেয়। এটি সিনক্রোনাইজড হওয়ায় থ্রেড-সেফ কিন্তু String-র চেয়ে স্লো।

ক্র. নংবিষয়StringStringBuffer
১প্রকৃতিইমিউটেবলমিউটেবল
২মেথড সিনক্রোনাইজেশননাহ্যাঁ, সব মেথড সিনক্রোনাইজড
৩পারফরম্যান্সদ্রুতস্লো (সিনক্রোনাইজেশনের কারণে)
৪মেমোরি এলোকেশনহিপ এবং স্ট্রিং কনস্ট্যান্ট পুলহিপ স্পেস

String উদাহরণ

public class Main {
    public static void main(String[] args) {
        String s1 = "Hello Tutorials Point";
        String upper = s1.toUpperCase(); // নতুন অবজেক্ট
        System.out.println(upper);
    }
}

StringBuffer উদাহরণ

public class StringBufferExample {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("Hi");
        sb.append(" Java 8"); // একই অবজেক্ট মডিফাই
        System.out.println(sb);
    }
}
  1. উইন্ডোজ XP এবং উইন্ডোজ ৭-এর মধ্যে টপ ১০ পার্থক্য

  2. জাভাতে ClassNotFoundException এবং NoClassDefFoundError-এর পার্থক্য কী?

  3. জাভাতে Exception ক্লাস এবং Error ক্লাসের পার্থক্য

  4. পাইথন ২.x এবং পাইথন ৩.x-এর পার্থক্য