স্ট্রিং একটি অপরিবর্তনীয় শ্রেণী এবং এটির অবজেক্ট তৈরি হওয়ার পরে পরিবর্তন করা যাবে না তবে অবশ্যই অন্যান্য অবজেক্টের উল্লেখ করবে। এগুলি মাল্টিথ্রেডিং পরিবেশে খুব দরকারী কারণ একাধিক থ্রেড বস্তুর অবস্থা পরিবর্তন করতে পারে না তাই অপরিবর্তনীয় বস্তুগুলি থ্রেড নিরাপদ।
স্ট্রিং বাফার হল মিউটেবল ক্লাস যা স্ট্রিং অবজেক্ট যেমন রিভার্স অফ স্ট্রিং, কনকেটিং স্ট্রিং ইত্যাদিতে অপারেশন করতে ব্যবহার করা যেতে পারে। আমরা স্ট্রিং এর নতুন অবজেক্ট তৈরি না করে স্ট্রিং পরিবর্তন করতে পারি। স্ট্রিং বাফারও থ্রেড নিরাপদ।
এছাড়াও, স্ট্রিং কনক্যাট + অপারেটর অভ্যন্তরীণভাবে স্ট্রিংবাফার বা স্ট্রিংবিল্ডার ক্লাস ব্যবহার করে। নীচে পার্থক্যগুলি রয়েছে৷
৷Sr. না। | কী | স্ট্রিং | স্ট্রিংবাফার |
---|---|---|---|
1 | বেসিক | স্ট্রিং একটি অপরিবর্তনীয় শ্রেণী এবং এটি তৈরি হওয়ার পর এর অবজেক্ট পরিবর্তন করা যাবে না | স্ট্রিং বাফার হল পরিবর্তনযোগ্য ক্লাস যা স্ট্রিং অবজেক্টে অপারেশন করতে ব্যবহার করা যেতে পারে |
2 | পদ্ধতি | পদ্ধতিগুলি সিঙ্ক্রোনাইজ করা হয় না | সমস্ত পদ্ধতি এই ক্লাসে সিঙ্ক্রোনাইজ করা হয়েছে। |
3 | পারফরম্যান্স | এটি দ্রুত | একাধিক থ্রেড একই সময়ে অ্যাক্সেস করতে পারে না তাই এটি ধীর |
4. | মেমরি এলাকা | I f একটি স্ট্রিং কনস্ট্রাক্টর বা পদ্ধতি ব্যবহার করে তৈরি করা হয় তাহলে সেই স্ট্রিংগুলি হিপ মেমরির পাশাপাশি SringConstantPool-এ সংরক্ষণ করা হবে | হিপ স্পেস |
স্ট্রিং এর উদাহরণ
public class Main { public static void main(String args[]) { String s1 = "Hello Tutorials Point"; String upperCase = s1.toUpperCase(); System.out.println(upperCase); } }
স্ট্রিংবাফারের উদাহরণ
public class StringBufferExample{ public static void main(String[] args){ StringBuffer buffer=new StringBuffer("Hi"); buffer.append("Java 8"); System.out.println("StringBufferExample" +buffer); } }