"हाय, अमिगो!"

"पण, बिलाबो, तू आधीच हॅलो बोलला आहेस."

"खरंच? बरं, मला अजूनही प्रत्येक धड्याची सुरुवात त्या वाक्याने करायला आवडते."

"आज आपण स्ट्रिंग वर्गाचा सखोल अभ्यास करणार आहोत."

"पण, मला त्याबद्दल सर्व काही आधीच माहित आहे. मला हे देखील माहित आहे की स्ट्रिंग वर्ग अपरिवर्तनीय आहे."

"स्ट्रिंग क्लासमध्ये 46 पद्धती आहेत. त्यापैकी किती तुम्हाला माहीत आहेत?"

"दहापेक्षा जास्त नाही. खरं तर, कदाचित कमाल 5."

"मग ऐक."

"जावाच्या निर्मात्यांच्या लक्षात आले की प्रोग्राम्समधील बहुतेक स्ट्रिंग्स सुधारित करण्याच्या हेतूने नसतात, परंतु काहीवेळा ते कसेही सुधारित केले जातात. जेव्हा तुम्ही एखादी स्ट्रिंग तयार करता तेव्हा ते खूप त्रासदायक असते, त्यात काहीतरी महत्त्वाचे सेव्ह करता, ते दुसर्‍याच्या पद्धतीत पास करता आणि ते बदलले जाते. हे घडू नये म्हणून त्यांनी परिवर्तनीय आणि अपरिवर्तनीय अशा दोन्ही स्ट्रिंग्स तयार करण्याचा निर्णय घेतला.

"स्ट्रिंग क्लास अपरिवर्तनीय स्ट्रिंगसाठी आहे, आणि स्ट्रिंगबिल्डर क्लास बदलण्यायोग्य लोकांसाठी आहे. या क्लासेसचे ऑब्जेक्ट्स सहजपणे दुसऱ्या प्रकारात रूपांतरित केले जातात. बहुतेक प्रकरणांमध्ये, जावा डेव्हलपरना फक्त स्ट्रिंगची आवश्यकता असते, जे Java चे निर्माते योग्य होते हे सिद्ध करते."

"म्हणून जर मला स्ट्रिंगची गरज असेल तर मी स्ट्रिंग क्लास वापरतो. आणि जर मला बदलता येण्याजोग्या स्ट्रिंगची गरज असेल तर मी स्ट्रिंगबिल्डर क्लास वापरतो ?"

"होय. खरं तर, StringBuffer नावाचा आणखी एक वर्ग आहे. ती StringBuilder ची एक प्रत आहे, शिवाय त्याच्या सर्व पद्धती समक्रमित म्हणून घोषित केल्या आहेत , जेणेकरून ऑब्जेक्ट प्रोग्रामच्या वेगवेगळ्या थ्रेड्समधून ऍक्सेस करता येईल."

"आणि या उदाहरणाचे काय? इथे स्ट्रिंग बदलत नाही का?"

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

"नाही. येथे दोन स्ट्रिंग ऑब्जेक्ट्स आहेत: «मांजर» आणि «मांजर-मांजर». दुसरा पहिला वापरून तयार केला आहे, परंतु पहिला ऑब्जेक्ट बदलत नाही. प्रत्यक्षात, येथे गोष्टी खूपच मनोरंजक आहेत. येथे कोड आहे कंपाइलर आपले उदाहरण संकलित करते तेव्हा व्युत्पन्न करतो:"

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

"म्हणून, नवीन स्ट्रिंग्स तयार करण्यासाठी स्ट्रिंगबिल्डरचा वापर जवळजवळ नेहमीच केला जातो, परंतु काहीवेळा कंपायलर तुमच्यासाठी सर्व काम करतो. पण तुमची आवृत्ती सोपी आहे, तुम्हाला वाटत नाही का?"

"हो, जावाकडे इतका प्रगत कंपाइलर आहे हे छान आहे."

"ठीक आहे, आता स्ट्रिंग क्लासच्या पद्धती पाहूया:"

1) मी स्ट्रिंगची लांबी कशी शोधू?

" लांबी पद्धत स्ट्रिंगची लांबी (त्यातील वर्णांची संख्या) मिळवते."

पद्धत उदाहरणे)
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

२) मला स्ट्रिंगमधून अक्षर कसे मिळेल?

" 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) मी स्ट्रिंग्सची तुलना कशी करू?

"इक्वल पद्धत स्ट्रिंग जुळत आहे का ते तपासते आणि केस दुर्लक्षित केल्यावर स्ट्रिंग जुळतात का हे पाहण्यासाठी equalsIgnoreCase पद्धत तपासते.

पद्धत पद्धत
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

५) मी सर्व अक्षरे स्ट्रिंग अप्परकेस किंवा लोअरकेसमध्ये कशी बनवू?

" टूअपरकेस पद्धत सर्व अप्परकेस अक्षरांसह स्ट्रिंगची प्रत परत करते."

" 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!";