জাভাতে স্ট্রিংস ব্যবহার সম্পর্কে আপনার কী জানা উচিত

আপনি একবার জাভা শিখতে শুরু করলে স্ট্রিং ক্লাসটি আপনার অনন্য বৈশিষ্ট্যের জন্য আপনাকে মনোযোগ আকর্ষণ করবে।

আপনি জাভাতে অন্যান্য ভাষার চেয়ে আরও সহজে স্ট্রিংগুলি তৈরি এবং পরিচালনা করতে পারেন। স্ট্রিং ক্লাস বিভিন্ন বৈশিষ্ট্য সরবরাহ করে কারণ এটি।

এই বৈশিষ্ট্যগুলির ভিত্তিতে, আপনার পছন্দ এবং প্রয়োজনীয়তার উপর নির্ভর করে স্ট্রিংগুলি তৈরি ও সম্পাদনা করার জন্য বেশ কয়েকটি পদ্ধতি রয়েছে। একইভাবে, আপনার অ্যাপ্লিকেশন এবং যেখানে স্ট্রিংগুলি প্রয়োজন সেখানে অনেক কিছু নির্ভর করবে।

জাভা স্ট্রিংগুলি কীভাবে আলাদা?

আপনি যদি পূর্বে সি ভাষার সাথে কাজ করে থাকেন তবে আপনি জানেন যে সি এর স্ট্রিংগুলি অক্ষরের অ্যারে (অক্ষর)। অন্যদিকে, জাভা স্ট্রিংগুলি অপরিবর্তনীয় এবং এতে ইউনিকোডের অক্ষর রয়েছে।

জাভাতে স্ট্রিং তৈরি করা মূল বৈশিষ্ট্যগুলির মধ্যে একটি হ'ল কনটেস্টেশন। দুটি বা ততোধিক স্ট্রিংয়ে যোগ দিতে কেবল অতিরিক্ত অপারেটর "+" ব্যবহার করুন। এটি এমন কিছু যা আপনি জাভা অন্যান্য অবজেক্টগুলির সাথে করতে পারেন না যেমন পয়েন্ট বা সার্কেল

এছাড়াও, পূর্বে উল্লিখিত হিসাবে, জাভা স্ট্রিংগুলি অপরিবর্তনীয়, অর্থাৎ আপনি এগুলি সংশোধন করতে পারবেন না। উদাহরণস্বরূপ, টুআপারকেস () এবং টুলওয়ারকেস () এর মতো পদ্ধতিগুলি বিদ্যমান স্ট্রিংয়ের সামগ্রীতে পরিবর্তন না করে সম্পূর্ণ নতুন স্ট্রিং তৈরি করে। এখন আপনার কোডটি এই নতুন উত্পন্ন স্ট্রিংটি ফিরিয়ে দেবে।

সম্পর্কিত: এই ফাংশনগুলির সাথে কীভাবে পিএইচপি-তে পাঠ্য পরিচালনা করতে হবে

স্ট্রিংগুলি পৃথক পৃথক ক্ষেত্রটি যখন সি এর মতো ভাষায় স্ট্রিং বন্ধ করার জন্য নাল অক্ষর র কথা আসে তখন জাভাতে স্ট্রিংগুলি অক্ষর অ্যারে দ্বারা সমর্থিত অবজেক্ট। আপনি যদি চরিত্রের অ্যারেগুলি উপস্থাপন করেন সেভাবে আপনার স্ট্রিংয়ের বিষয়বস্তু পড়তে চাইছেন , ট্যচারআরে () পদ্ধতি ব্যবহার করে কাজটি হবে।

জাভাতে স্ট্রিংগুলির তুলনা করা অন্যান্য প্রোগ্রামিং ভাষার তুলনায় আরও সুবিধাজনক। স্ট্রিংগুলির সাথে তুলনা করার জন্য কোডের একটি দীর্ঘ ব্লক লেখার পরিবর্তে, আপনি কোনও প্রোগ্রামে ব্যবহৃত দুটি বা ততোধিক স্ট্রিংয়ের তুলনা করতে সমান () পদ্ধতিটি ব্যবহার করতে পারেন। এটি মূলত কারণ জাভাতে, সমান পদ্ধতিটি স্ট্রিং ক্লাস দ্বারা ওভাররাইড করা হয়, যা স্ট্রিং তুলনাকে কেকের টুকরো করে তোলে।

অনুরূপ নোটে, জাভাতে সাবস্ট্রিংগুলির মধ্যে অনুসন্ধান করাও ঝামেলা-মুক্ত। লাস্ট ইন্ডেক্সঅফ () এবং ইনডেক্সফ () এর মতো নিয়মিত এক্সপ্রেশন বা পদ্ধতি র সময় , আপনি ম্যাচ শনাক্ত হওয়ার পরে আপনি স্ট্রিংগুলির বিভাগগুলি অনুসন্ধান করতে পারেন এবং মানগুলি ফিরে আসতে পারেন। আপনি বিভিন্ন স্ট্রিং ছাঁটা ও বিভক্ত করতে নিয়মিত এক্সপ্রেশনও ব্যবহার করতে পারেন এবং যেকোন প্রোগ্রামে বিস্তৃত ব্যবহারের জন্য স্বতন্ত্রভাবে ব্যবহার করতে পারেন।

স্ট্রিংগুলি মেমোরিতে কীভাবে সংরক্ষণ করা হয়?

জাভাতে স্ট্রিংগুলি কী আলাদা এবং উপকারী তা আপনি এখন জানেন, আসুন স্ট্রিং ক্লাসটি ঘুরে দেখি। আপনি যদি জাভাতে মেমরি পরিচালনার বিষয়ে একটি বা দুটি জিনিস জানেন, তবে অবশ্যই আপনাকে অবশ্যই এটির দুটি মূল সত্তা: গাদা এবং স্ট্যাকের সাথে ডিল করতে হবে।

স্ট্যাকটি কোনও জাভা প্রোগ্রাম দ্বারা ডাকা হওয়ার পরে প্রক্রিয়াগুলি এবং ক্রিয়াকলাপগুলি সম্পাদন করতে ব্যবহৃত হয়, যেখানে হিপ সংরক্ষণাগার রয়েছে – কার্যকরভাবে কোড চালানো এবং সম্পাদন করা প্রয়োজন। সুতরাং, স্ট্রিংগুলির ক্ষেত্রে মেমরি পরিচালনা কীভাবে প্রাসঙ্গিক?

এর কারণ জাভাতে স্ট্রিং ক্লাস এবং স্ট্রিং লিটারালরা পৃথক চিকিত্সা গ্রহণ করে। এটি সূচিত করে যে স্ট্রিং লিটারালগুলিকে হিপ মেমোরিতে অনন্য স্টোরেজ স্পেস বরাদ্দ করা হয়, তাকে স্ট্রিং কনস্ট্যান্ট পুল হিসাবে উল্লেখ করা হয়। সুতরাং, আপনি যখনই জাভাতে স্ট্রিং অবজেক্ট তৈরি করতে স্ট্রিং লিটারেল ব্যবহার করেন, স্ট্রিং কনস্ট্যান্ট পুল তাদের সংরক্ষণ করে।

বিপরীতে, আপনি স্ট্রিং অবজেক্ট তৈরি করতে যখন নতুন কীওয়ার্ডটি ব্যবহার করেন, জাভা এগুলিকে অন্য যে কোনও অবজেক্টের মতোই আচরণ করবে এবং স্টোরেজ করার জন্য তাকে গাদাতে পাঠাবে।

স্ট্রিং লিটারালসের উদাহরণ

এখন আপনি স্ট্রিং অবজেক্ট সম্পর্কে যথেষ্ট জানেন, আসুন স্ট্রিং ল্যাটারালগুলির উদাহরণটি দেখুন:

 
public class muostrings {
public static void main(String args[])
{
String himuo = "Hello World from MUO";
System. out .println (himuo);
}
}

এখানে স্ট্রিং আক্ষরিক স্ট্রিং অবজেক্টটি তৈরি করেছে "হ্যালো ওয়ার্ল্ড থেকে এমইউও" বিষয়বস্তু দিয়ে। জাভা এই বস্তুটি স্ট্রিং কনস্ট্যান্ট পুলে প্রেরণ করবে।

নতুন কীওয়ার্ড ব্যবহার করে

স্ট্রিং অবজেক্টস তৈরি করতে আপনি নতুন কীওয়ার্ডটিও ব্যবহার করতে পারেন।

"MUO থেকে হ্যালো ওয়ার্ল্ড" বিষয়বস্তুযুক্ত স্ট্রিং "হিজুও" এর স্ট্রিং অবজেক্ট একটি স্ট্রিং আক্ষরিক দ্বারা তৈরি করা হয়েছে এবং স্ট্রিং কনস্ট্যান্ট পুলে প্রেরণ করা হবে। একইভাবে, নতুন কীওয়ার্ড ব্যবহার করে স্ট্রিং অবজেক্টসও তৈরি করা যেতে পারে:

 
public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

উপরের উদাহরণটি স্ট্রিং অবজেক্ট তৈরি করতে নতুন কীওয়ার্ড ব্যবহার করে। পূর্বে বর্ণিত হিসাবে, এগুলি গাদাতে প্রেরণ করা হয়, যেখানে তারা প্রোগ্রামের দ্বারা সম্পাদিত হওয়ার অপেক্ষায় থাকা অন্যান্য ভেরিয়েবল এবং অবজেক্টগুলির সাথে সঞ্চিত থাকে।

এতক্ষণে আপনার অবশ্যই স্ট্রিং কনস্ট্যান্ট পুল সম্পর্কে কৌতূহলী হওয়া উচিত এবং ঠিক তাই। এটি স্ট্রিং অবজেক্টের সামগ্রীর উপর ভিত্তি করে অবজেক্টগুলিতে পুল স্পেস বরাদ্দ করে। স্ট্রিং কনস্ট্যান্ট পুলটি অবজেক্টগুলি গ্রহণ করার পরে, দুটি বস্তুতে ঠিক একই বিষয়বস্তু রয়েছে কিনা তা যাচাই করার জন্য এটি তাদের পরীক্ষা করে।

দুটি স্ট্রিং অবজেক্টস একই বিষয়বস্তু সঞ্চয় করতে পারে?

যখন কোনও স্ট্রিং আক্ষরিক একটি নতুন অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয়, জাভা ভার্চুয়াল মেশিন (জেভিএম) বস্তুর সামগ্রীগুলি পর্যালোচনা করে তা ইতিমধ্যে পুলটিতে বিদ্যমান কিনা তা মূল্যায়ন করে। যখন কোনও অবজেক্টটিতে এমন সামগ্রী রয়েছে যা ইতিমধ্যে পুলটিতে উপস্থিত রয়েছে, তখন নতুন বস্তুটি তৈরি না করেই অবজেক্টের রেফারেন্স ফিরে আসে is যদি আপনাকে অবশ্যই নতুন অবজেক্টটি তৈরি করতে হয় তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সামগ্রীটি স্বতন্ত্র এবং অনন্য।

তবে আপনি যদি নতুন স্ট্রিং তৈরি করতে নতুন কীওয়ার্ডটি ব্যবহার করেন তবে এটি আলাদাভাবে প্রক্রিয়া করা হবে। আপনি যখন নতুন স্ট্রিং তৈরি করতে নতুন কীওয়ার্ডটি ব্যবহার করেন, এটি বিদ্যমান স্ট্রিংয়ের মতো একই বিষয়বস্তু রয়েছে কিনা তা বিবেচনা না করেই এটি উত্পন্ন হবে।

এটি সূচিত করে যে হিপ মেমরিতে সঞ্চিত দুটি বিদ্যমান স্ট্রিং অবজেক্টকে একই সামগ্রীতে প্রবেশ করার অনুমতি দেওয়া হয়েছে; এটি স্ট্রিং কনস্ট্যান্ট পুলের মধ্যে স্ট্রিং অবজেক্ট থেকে আলাদা। আপনি এটি "==" অপারেটরের মাধ্যমে প্রমাণও করতে পারেন; যদি একই শারীরিক ঠিকানার সাথে দুটি বস্তুর তুলনা করা হয় তবে এটি সত্য হয়।

 
public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = "muo1";
String secondLiteral = "muo1";
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String("muo2");
String secondKeyword = new String("muo2");
System. out .println(firstKeyword == secondKeyword);
}
}

এখন আপনি জাভাতে স্ট্রিংগুলি সহজেই বুঝতে পারবেন

এই নিবন্ধে, আপনি কীভাবে জাভাতে স্ট্রিংগুলি আলাদা, জাভাতে স্ট্রিং ব্যবহারের উপায়গুলি, জাভাতে স্ট্রিংগুলির মেমরি পরিচালনা এবং স্ট্রিংগুলি কীভাবে কাজ করে তা সম্পর্কিত অন্যান্য গুরুত্বপূর্ণ বিবরণ শিখেছেন। আপনার বোঝাপড়াটি পরীক্ষা করার জন্য, দুটি স্ট্রিং সংযুক্ত করার জন্য একটি জাভা প্রোগ্রাম লিখবেন না কেন?