"আপনি কি মনে করেন, Amigo? int এর পরে সবচেয়ে জনপ্রিয় জাভা ক্লাস কি?"

"আপনি ইতিমধ্যে আমাকে পাঠের শিরোনামে একটি স্পয়লার দিয়েছেন, এলি। এটা String!"

"প্রকৃতপক্ষে, এটি একটি স্পয়লার। Stringএকেবারে সর্বত্র ব্যবহার করা হয়। এটিতে একগুচ্ছ দরকারী পদ্ধতি রয়েছে যা আপনি জানার চেয়ে ভাল।

" Stringশ্রেণি হল আদিম প্রকারগুলি ছাড়া অন্য একমাত্র শ্রেণী যার আক্ষরিকগুলি একটি বিবৃতিতে ব্যবহার করা যেতে পারে switch; কম্পাইলার স্ট্রিং যোগ এবং স্ট্রিং অবজেক্টগুলিকে একটি বিশেষ উপায়ে পরিচালনা করে; Stringবস্তুগুলি একটি বিশেষ উপায়ে মেমরিতে স্টোর করা হয়৷ মূলত, ক্লাসটি Stringএকটি খুব বিশেষ ক্লাস।

"এছাড়াও, Stringক্লাসটিতে একগুচ্ছ হেল্পার ক্লাস রয়েছে যার উদ্দেশ্য হল জাভাতে স্ট্রিংগুলির সাথে কাজ করা আরও সহজ করা। আপনি যখন এই সব শিখবেন, তখন অনেক কিছু করা আপনার জন্য অনেক সহজ হয়ে যাবে।"

"আমি অপেক্ষা করতে পারি না।"

"ঠিক আছে, আমরা এই ইকোসিস্টেমের একেবারে মূল থেকে শুরু করব - ক্লাসের সংগঠন String। ক্লাসের গঠন Stringআসলে খুব সহজ: এর ভিতরে একটি অক্ষর অ্যারে ( charঅ্যারে) রয়েছে যা স্ট্রিংয়ের সমস্ত অক্ষর সংরক্ষণ করে। এর জন্য উদাহরণস্বরূপ, এইভাবে 'হ্যালো' শব্দটি সংরক্ষণ করা হয়:

স্ট্রিং ক্লাসের গঠন

এটা গুরুত্বপূর্ণ.

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

স্ট্রিং ক্লাসের পদ্ধতি

ক্লাসের Stringঅনেকগুলি পদ্ধতি রয়েছে: এতে একা 18 জন কনস্ট্রাক্টর রয়েছে! সুতরাং, নীচে আমি শুধুমাত্র সর্বাধিক ব্যবহৃত তালিকাভুক্ত করব:

পদ্ধতি বর্ণনা
int length()
স্ট্রিং-এ অক্ষরের সংখ্যা প্রদান করে
boolean isEmpty()
স্ট্রিংটি একটি খালি স্ট্রিং কিনা তা পরীক্ষা করে
boolean isBlank()
চেক করে যে স্ট্রিংটিতে শুধুমাত্র হোয়াইটস্পেস অক্ষর রয়েছে: স্পেস, ট্যাব, নতুন লাইন, ইত্যাদি।
char charAt(int index)
স্ট্রিং-এ সূচক অবস্থানে অক্ষরটি ফেরত দেয়।
char[] toCharArray()
অক্ষরগুলির একটি অ্যারে (একটি অনুলিপি) প্রদান করে যা স্ট্রিং তৈরি করে
byte[] getBytes()
একটি স্ট্রিংকে বাইটের সেটে রূপান্তর করে এবং বাইটের অ্যারে প্রদান করে।
String[] split(String regex)
একটি স্ট্রিংকে একাধিক সাবস্ট্রিংয়ে বিভক্ত করে।
String join(CharSequence delimiter, elements)
একসাথে একাধিক সাবস্ট্রিং যোগ করে
String intern()
স্ট্রিং পুলে একটি স্ট্রিং রাখে।

"খুব ভালো লাগছে!"

"আসুন একটি প্রোগ্রাম লিখি যা ইউনিক্স স্টাইল থেকে উইন্ডোজ স্টাইলে ফাইল পাথকে রূপান্তর করে। ইউনিক্স অক্ষরটি /ফোল্ডারগুলিকে আলাদা করতে ব্যবহার করে, যখন উইন্ডোজ \অক্ষর ব্যবহার করে।

সমাধান 1. একটি charঅ্যারে ব্যবহার করা

কোড মন্তব্য
Scanner console = new Scanner(System.in);
String path = console.nextLine();

char[] chars = path.toCharArray();
for (int i = 0; i < chars.length; i++)
   if (chars[i] == '/')
      chars[i] = '\\';

String result = new String(chars);
System.out.println(result);
একটি স্ক্যানার অবজেক্ট তৈরি করুন
কনসোল থেকে একটি লাইন পড়ুন

একটি স্ট্রিংকে একটি অক্ষর অ্যারেতে রূপান্তর করুন
অক্ষরগুলির উপর লুপ করুন
যদি অক্ষরটি হয় তবে /এটি
দিয়ে প্রতিস্থাপন করুন \। পলায়ন সম্পর্কে ভুলবেন না.

অক্ষর অ্যারের উপর ভিত্তি করে একটি নতুন স্ট্রিং তৈরি করুন।
স্ট্রিং প্রদর্শন করুন।

সমাধান 2.split() এবং পদ্ধতিগুলি ব্যবহার করা join():

কোড মন্তব্য
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String array[] = path.split("\\/");


String result = String.join("\\", array);


System.out.println(result);
একটি স্ক্যানার অবজেক্ট তৈরি করুন
কনসোল থেকে একটি লাইন পড়ুন স্ট্রিংকে স্ট্রিংয়ের অ্যারেতে

রূপান্তর করুন । অক্ষরটি একটি বিভাজক হিসাবে ব্যবহৃত হয় (অতিরিক্ত দুটি স্ল্যাশ ডাবল এসকেপিংয়ের ফলাফল)। স্ট্রিং এর অ্যারে সমস্ত স্ট্রিং সংযুক্ত করুন । একটি বিভাজক হিসাবে ব্যবহার করা হয় (আমরা এটি পালিয়ে যেতে দেখি)। স্ট্রিং প্রদর্শন করুন।/
\

সমাধান 3. পদ্ধতি ব্যবহার করে replace(char oldChar, char newChar):

কোড মন্তব্য
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String result = path.replace('/', '\\');

System.out.println(result);
একটি স্ক্যানার অবজেক্ট তৈরি করুন
কনসোল থেকে একটি লাইন পড়ুন

সহজভাবে একটি অক্ষর অন্যটির সাথে প্রতিস্থাপন করুন
(দ্বিতীয়টি এস্কেপড)
স্ট্রিংটি প্রদর্শন করুন৷

"আমি তৃতীয় সমাধানটি সবচেয়ে পছন্দ করেছি। তবে আমি তিনটিই অনুশীলন করব।"

"ভাল করেছিস, অ্যামিগো। আমি দেখছি যে আপনি ইতিমধ্যেই আপনার নতুন জ্ঞানকে বাস্তবে প্রয়োগ করার জন্য অধৈর্য। পাঠ শেষ হয়েছে।"