"ஹாய், அமிகோ!"

"ஆனால், பிலாபோ, நீங்கள் ஏற்கனவே ஹலோ சொல்லிவிட்டீர்கள்."

"அப்படியா? சரி, ஒவ்வொரு பாடத்தையும் அந்த சொற்றொடருடன் தொடங்குவதை நான் இன்னும் விரும்புகிறேன்."

"இன்று நாங்கள் சரம் வகுப்பை ஆழமாகப் படிக்கப் போகிறோம்."

"ஆனால், அதைப் பற்றி எனக்கு ஏற்கனவே எல்லாம் தெரியும். சரம் வகுப்பு மாறாதது என்பது கூட எனக்குத் தெரியும்."

"ஸ்ட்ரிங் வகுப்பில் 46 முறைகள் உள்ளன. அவற்றில் எத்தனை உங்களுக்குத் தெரியும்?"

"பத்துக்கு மேல் இல்லை. உண்மையில், 5 அதிகபட்சம்."

"அப்படியானால் கேளுங்கள்."

"ஜாவாவின் படைப்பாளிகள், புரோகிராம்களில் உள்ள பெரும்பாலான சரங்களை மாற்றியமைக்கவில்லை என்பதை கவனித்தனர், ஆனால் சில சமயங்களில் அவை எப்படியும் மாற்றப்படும். நீங்கள் ஒரு சரத்தை உருவாக்கி, அதில் முக்கியமான ஒன்றைச் சேமித்து, வேறொருவரின் முறைக்கு அனுப்பும்போது, ​​அது மிகவும் எரிச்சலூட்டும். இது நிகழாமல் இருக்க, அவர்கள் மாறக்கூடிய மற்றும் மாறாத சரங்களை உருவாக்க முடிவு செய்தனர்."

"ஸ்ட்ரிங் கிளாஸ் என்பது மாறாத சரங்களுக்கானது, மற்றும் ஸ்ட்ரிங் பில்டர் கிளாஸ் மாறக்கூடியவற்றுக்கானது. இந்த வகுப்புகளின் பொருள்கள் எளிதாக மற்ற வகைக்கு மாற்றப்படும். பெரும்பாலான சந்தர்ப்பங்களில், ஜாவா டெவலப்பர்களுக்கு சரம் தேவை, இது ஜாவாவின் படைப்பாளிகள் சரியானது என்பதை நிரூபிக்கிறது."

"எனக்கு ஒரு சரம் தேவைப்பட்டால், நான் சரம் வகுப்பைப் பயன்படுத்துகிறேன். மேலும் எனக்கு மாற்றக்கூடிய சரம் தேவைப்பட்டால், நான் StringBuilder வகுப்பைப் பயன்படுத்துகிறேன் ?"

"ஆம். உண்மையில், StringBuilder எனப்படும் மற்றொரு வகுப்பு உள்ளது. இது StringBuilder இன் நகல், அதன் அனைத்து முறைகளும் ஒத்திசைக்கப்பட்டதாக அறிவிக்கப்பட்டதைத் தவிர , நிரலின் வெவ்வேறு இழைகளில் இருந்து பொருளை அணுக முடியும்."

"இந்த உதாரணத்தைப் பற்றி என்ன? இங்கே சரம் மாறவில்லையா?"

String s = "cat";
s = s + "-" + s;

"இல்லை. இங்கே இரண்டு சரம் பொருள்கள் உள்ளன: «பூனை» மற்றும் «பூனை-பூனை». இரண்டாவது முதல் பொருளைப் பயன்படுத்தி உருவாக்கப்பட்டது, ஆனால் முதல் பொருள் மாறாது. உண்மையில், இங்கே விஷயங்கள் மிகவும் சுவாரஸ்யமானவை. இங்கே குறியீடு உள்ளது. உங்கள் உதாரணத்தை தொகுக்கும்போது கம்பைலர் உருவாக்குகிறது:"

String s = "cat";
StrinsBuilder s2 = new StringBuilder(s);
s2.append("-");
s2.append(s);
s = s2.toString();

"எனவே, StringBuilder புதிய சரங்களை உருவாக்க எப்போதும் பயன்படுத்தப்படுகிறது, ஆனால் சில நேரங்களில் கம்பைலர் உங்களுக்காக அனைத்து வேலைகளையும் செய்கிறது. ஆனால் உங்கள் பதிப்பு எளிமையானது, நீங்கள் நினைக்கவில்லையா?"

"ஆமாம், ஜாவாவில் இவ்வளவு மேம்பட்ட கம்பைலர் இருப்பது அருமை."

"சரி, இப்போது சரம் வகுப்பின் முறைகள் மூலம் நடப்போம்:"

1) ஒரு சரத்தின் நீளத்தை நான் எப்படி கண்டுபிடிப்பது?

" நீள முறை ஒரு சரத்தின் நீளத்தை (அதில் உள்ள எழுத்துகளின் எண்ணிக்கை) வழங்குகிறது."

முறை(கள்) எடுத்துக்காட்டு(கள்)
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

2) ஒரு சரத்திலிருந்து ஒரு எழுத்தை எப்படிப் பெறுவது?

" charAt முறையானது ஒரு சரத்திலிருந்து ஒரு எழுத்தை அதன் குறியீட்டின் மூலம் வழங்குகிறது. எழுத்து குறியீடுகள் 0 இல் தொடங்குகின்றன.

முறை(கள்) எடுத்துக்காட்டு(கள்)
char charAt(int index)
String s = "Good news, everyone!";
char n = s.charAt(5);
char n = "Good news, everyone!".charAt(5);

3) ஒரு சரத்திலிருந்து எழுத்துக்களை எவ்வாறு பெறுவது?

ஒரு சரத்திலிருந்து எழுத்துக்களை எவ்வாறு பெறுவது?

முறை(கள்) எடுத்துக்காட்டு(கள்)
char[]toCharArray ()
String s = "Good news, everyone!";
for(char c: s.toCharArray())
{
System.out.println(c);
}

4) சரங்களை எவ்வாறு ஒப்பிடுவது?

"சரங்கள் பொருந்துகிறதா என்பதை சமமான முறை சரிபார்க்கிறது, மேலும் கேஸ் புறக்கணிக்கப்படும் போது ஸ்டிரிங்ஸ் பொருந்துகிறதா என்பதை ஈக்னோர்கேஸ் முறை சரிபார்க்கிறது.

முறை(கள்) முறை(கள்)
boolean equals(Object o)
String s = "cat";
boolean test1 = s.equals("cat");//true
boolean test2 = s.equals("Cat");//false
boolean test3 = s.equals("c"+"a"+"t");//true
boolean equalsIgnoreCase(String str)
String s = "cat";
boolean test1 = s.equalsIgnoreCase("cat");//true
boolean test2 = s.equalsIgnoreCase("Cat");//true
boolean test3 = s.equalsIgnoreCase("cAT");//true

5) அனைத்து எழுத்துக்களையும் சரம் பெரிய எழுத்து அல்லது சிறிய எழுத்தில் எப்படி உருவாக்குவது?

" toUpperCase முறையானது அனைத்து பெரிய எழுத்துகளுடன் சரத்தின் நகலை வழங்குகிறது."

" toLowerCase முறையானது அனைத்து சிற்றெழுத்துகளுடன் சரத்தின் நகலை வழங்குகிறது."

முறை(கள்) எடுத்துக்காட்டு(கள்)
String toUpperCase()
String s = " Good news, everyone!  ";
s = s.toUpperCase();

விளைவாக:

s == "GOOD NEWS, EVERYONE!";
String toLowerCase()
String s = "Good news, everyone!";
s = s.toLowerCase();

விளைவாக:

s == "good news, everyone!";

6) ஒரு சரத்தின் தொடக்கத்திலும் முடிவிலும் உள்ள இடைவெளிகளை எவ்வாறு அகற்றுவது?

"டிரிம் முறையானது தொடக்கத்திலும் முடிவிலும் இடைவெளி எழுத்துகள் இல்லாத சரத்தின் நகலை வழங்குகிறது."

முறை(கள்) எடுத்துக்காட்டு(கள்)
String trim()
String s = "   Good news, everyone!   ";
s = s.trim();

விளைவாக:

s == "Good news, everyone!";