স্ট্রিং জাভাতে "বিশেষ" অবজেক্ট। জাভা ডিজাইনাররা বুদ্ধি করে সিদ্ধান্ত নিয়েছিলেন যে স্ট্রিংগুলি প্রায়শই ব্যবহার করা হয় যাতে তাদের নিজস্ব বাক্য গঠন পাশাপাশি ক্যাশিংয়ের কৌশল প্রয়োজন। যখন আপনি এই বলে স্ট্রিং ঘোষণা করেন:
String myString = "something";
মাইস্ট্রিং স্ট্রিং অবজেক্টের "একটি কিছু" এর মান সহ একটি রেফারেন্স। আপনি যদি পরে ঘোষণা করেন:
String myOtherString = "something";
জাভাটি যথেষ্ট দক্ষতার সাথে কাজ করে যে মাইস্ট্রিং এবং মাইঅথার স্ট্রিং একই রকম এবং এগুলিকে একই অবজেক্ট হিসাবে গ্লোবাল স্ট্রিং টেবিলে সংরক্ষণ করবে। এটি নির্ভর করে যে আপনি স্ট্রিংগুলি এটি করার জন্য পরিবর্তন করতে পারবেন না। এটি প্রয়োজনীয় মেমরির পরিমাণ হ্রাস করে এবং তুলনা দ্রুততর করতে পারে।
যদি, পরিবর্তে, আপনি লিখুন
String myOtherString = new String("something");
জাভা আপনার জন্য একেবারে নতুন অবজেক্ট তৈরি করবে, যা মাই স্ট্রিং অবজেক্ট থেকে আলাদা।