جاوا میں سٹرنگ کلاس کو جاوا میں سٹرنگز کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے۔ جاوا پروگرام میں بیان کردہ تمام سٹرنگ لٹریلز (مثال کے طور پر، "abc") String کلاس کی مثالیں ہیں۔ آئیے اس کی اہم خصوصیات کو دیکھتے ہیں:
- کلاس
Serializable
اور انٹرفیس کو نافذ کرتی ہےCharSequence
۔ چونکہ یہ پیکج میں شامل ہےjava.lang
، اس لیے اسے درآمد کرنے کی ضرورت نہیں ہے۔ - جاوا میں سٹرنگ کلاس ایک آخری کلاس ہے اور اس میں بچے نہیں ہو سکتے۔
- سٹرنگ کلاس ایک ناقابل تغیر کلاس ہے، یعنی اس کی اشیاء کو بننے کے بعد تبدیل نہیں کیا جا سکتا۔ سٹرنگ آبجیکٹ پر کوئی بھی آپریشن جس کے نتیجے میں سٹرنگ کلاس کے کسی شے کے نتیجے میں ایک نئی آبجیکٹ کی تخلیق ہو گی۔
- ان کی غیر متغیر ہونے کی وجہ سے، سٹرنگ کلاس اشیاء تھریڈ محفوظ ہیں اور ملٹی تھریڈڈ ماحول میں استعمال کی جا سکتی ہیں۔
- جاوا میں موجود ہر آبجیکٹ کو اس طریقہ کے ذریعے سٹرنگ میں تبدیل کیا جا سکتا ہے
toString
جو تمام جاوا کلاس کلاس سے وراثت میں ملتی ہےObject
۔
جاوا سٹرنگ کے ساتھ کام کرنا
یہ جاوا میں سب سے زیادہ استعمال ہونے والی کلاسوں میں سے ایک ہے۔ اس میں سٹرنگ میں بعض حروف کا تجزیہ کرنے، سٹرنگز کا موازنہ اور تلاش کرنے، سب اسٹرنگز نکالنے، سٹرنگ کی ایک کاپی بنانے کے لیے تمام حروف کو لوئر اور اپر کیس میں تبدیل کرنے کے طریقے ہیں، اور دیگر۔ سٹرنگ کلاس کے تمام طریقوں کی فہرست سرکاری دستاویزات میں مل سکتی ہے ۔ جاوا کنکٹنیشن (سٹرنگز کو جوڑنے) کے لیے ایک سادہ طریقہ کار بھی نافذ کرتا ہے، پرائمٹیو کو سٹرنگ میں تبدیل کرتا ہے اور اس کے برعکس۔ آئیے جاوا میں سٹرنگ کلاس کے ساتھ کام کرنے کی کچھ مثالیں دیکھتے ہیں۔سٹرنگز بنانا
String کلاس کی مثال بنانے کا سب سے آسان طریقہ یہ ہے کہ اسے سٹرنگ لٹریل کی قدر تفویض کی جائے۔String s = "I love movies";
تاہم، String کلاس میں بہت سے کنسٹرکٹرز ہیں جو آپ کو اجازت دیتے ہیں:
- خالی تار پر مشتمل ایک آبجیکٹ بنائیں
- سٹرنگ متغیر کی ایک کاپی بنائیں
- کردار کی صف کی بنیاد پر ایک تار بنائیں
- بائٹ سرنی کی بنیاد پر ایک سٹرنگ بنائیں (اکاؤنٹ انکوڈنگز کو مدنظر رکھتے ہوئے)
- وغیرہ
سٹرنگ کا اضافہ
جاوا میں دو تاروں کو شامل کرنا بہت آسان ہے+
۔ جاوا آپ کو متغیرات اور سٹرنگ لٹریلز دونوں کو ایک دوسرے میں شامل کرنے کی اجازت دیتا ہے۔
public static void main(String[] args) {
String day = "Day";
String and = "And";
String night = "Night";
String dayAndNight = day + " " + and + " " + night;
}
سٹرنگ کلاس کی اشیاء کو دوسری کلاسوں کی اشیاء کے ساتھ جوڑ کر، ہم مؤخر الذکر کو سٹرنگ فارم میں کم کر دیتے ہیں۔ دوسری کلاسوں کی اشیاء کو سٹرنگ کی نمائندگی میں تبدیل کرنا toString
آبجیکٹ پر ایک مضمر طریقہ کال کے ذریعے انجام دیا جاتا ہے۔ آئیے اسے درج ذیل مثال سے ظاہر کرتے ہیں:
public class StringExamples {
public static void main(String[] args) {
Human max = new Human("Max");
String out = "java object: " + max;
System.out.println(out);
// Output: Java object: Person named Max
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
سٹرنگ کا موازنہ
تاروں کا موازنہ کرنے کے لیے، آپ یہ طریقہ استعمال کر سکتے ہیںequals()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("Test String".equals(x)); // true
}
جب سٹرنگز کا موازنہ کرتے وقت کیس ہمارے لیے اہم نہیں ہوتا ہے تو ہمیں یہ طریقہ استعمال کرنے کی ضرورت ہے equalsIgnoreCase()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("test string".equalsIgnoreCase(x)); // true
}
کسی آبجیکٹ/پرائمیٹ کو سٹرنگ میں تبدیل کرنا
کسی بھی جاوا کلاس یا کسی بھی قدیم ڈیٹا کی قسم کو سٹرنگ کی نمائندگی میں تبدیل کرنے کے لیے، آپ یہ طریقہ استعمال کر سکتے ہیںString.valueOf()
:
public class StringExamples {
public static void main(String[] args) {
String a = String.valueOf(1);
String b = String.valueOf(12.0D);
String c = String.valueOf(123.4F);
String d = String.valueOf(123456L);
String s = String.valueOf(true);
String human = String.valueOf(new Human("Alex"));
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(s);
System.out.println(human);
/*
Output:
1
12.0
123.4
123456
true
Person named Alex
*/
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
سٹرنگ کو نمبر میں تبدیل کرنا
اکثر آپ کو سٹرنگ کو نمبر میں تبدیل کرنے کی ضرورت ہوتی ہے۔ قدیم قسم کے ریپر کلاسوں میں ایسے طریقے ہوتے ہیں جو بالکل اسی مقصد کو پورا کرتے ہیں۔ یہ تمام طریقے لفظ پارس سے شروع ہوتے ہیں۔Integer
ذیل میں عدد ( ) اور جزوی ( ) نمبروں میں سٹرنگ کے ترجمہ پر غور کریں Double
:
public static void main(String[] args) {
Integer i = Integer.parseInt("12");
Double d = Double.parseDouble("12.65D");
System.out.println(i); // 12
System.out.println(d); // 12.65
}
تاروں کے مجموعہ کو سٹرنگ کی نمائندگی میں تبدیل کرنا
اگر آپ کو کسی صوابدیدی حد بندی کے ذریعے سٹرنگز کے کچھ مجموعہ کے تمام عناصر کو سٹرنگ کی نمائندگی میں تبدیل کرنے کی ضرورت ہے، تو آپ جاوا سٹرنگ کلاس کے درج ذیل طریقے استعمال کر سکتے ہیں:join(CharSequence delimiter, CharSequence... elements)
join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
delimiter
عنصر الگ کرنے والا کہاں ہے، اور elements
ایک سٹرنگ سرنی / سٹرنگ کلیکشن مثال ہے۔ آئیے ایک مثال دیکھیں جہاں ہم سٹرنگز کی فہرست کو سٹرنگ میں تبدیل کرتے ہیں، ہر ایک کو سیمی کالون سے الگ کرتے ہیں:
public static void main(String[] args) {
List<String> people = Arrays.asList(
"Philip J. Fry",
"Turanga Leela",
"Bender Bending Rodriguez",
"Hubert Farnsworth",
"Hermes Conrad",
"John D. Zoidberg",
"Amy Wong"
);
String peopleString = String.join("; ", people);
System.out.println(peopleString);
/*
Output:
Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong
*/
}
تار کی ایک صف میں سٹرنگ تقسیم کرنا
یہ آپریشن اس طریقہ سے کیا جاتا ہےsplit(String regex)
الگ کرنے والا ایک سٹرنگ ریگولر ایکسپریشن ہے regex
۔ ذیل کی مثال میں، ہم اس کے برعکس آپریشن کریں گے جو ہم نے پچھلی مثال میں کیا تھا۔
public static void main(String[] args) {
String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong";
String[] peopleArray = people.split("; ");
for (String human : peopleArray) {
System.out.println(human);
}
/*
Output:
Philip J. Fry
Turanga Leela
Bender Bending Rodriguez
Hubert Farnsworth
Hermes Conrad
John D. Zoidberg
Amy Wong
*/
}
لائن میں کسی عنصر کی پوزیشن کا تعین کرنا
جاوا زبان میں، سٹرنگ اسٹرنگ میں کسی کریکٹر/سبسٹرنگ کی پوزیشن کا تعین کرنے کے لیے طریقوں کا ایک سیٹ فراہم کرتا ہے:indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(String str)
indexOf(String str, int fromIndex)
lastIndexOf(int ch)
lastIndexOf(int ch, int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str, int fromIndex)
ch
- وہ علامت جسے آپ تلاش کر رہے ہیں (char
)str
--.تلاش کی تارfromIndex
— وہ پوزیشن جہاں سے عنصر کو تلاش کرنا ہے۔- طریقے
indexOf
- پائے جانے والے پہلے عنصر کی پوزیشن واپس کریں۔ - طریقے
lastIndexOf
- پائے گئے آخری عنصر کی پوزیشن واپس کریں۔
A
، لیکن یہ بات ذہن میں رکھیں کہ جاوا میں سٹرنگ میں حروف K
کی انڈیکسنگ صفر سے شروع ہوتی ہے: Z
Я
public static void main(String[] args) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println(alphabet.indexOf('A')); // 0
System.out.println(alphabet.indexOf('K')); // 10
System.out.println(alphabet.indexOf('Z')); // 25
System.out.println(alphabet.indexOf('Я')); // -1
}
سٹرنگ سے سبسٹرنگ نکالنا
سٹرنگ سے سبسٹرنگ نکالنے کے لیے، جاوا میں سٹرنگ کلاس طریقے فراہم کرتی ہے:substring(int beginIndex)
substring(int beginIndex, int endIndex)
public static void main(String[] args) {
String filePath = "D:\\Movies\\Futurama.mp4";
int lastFileSeparatorIndex = filePath.lastIndexOf('\\');
String fileName = filePath.substring(lastFileSeparatorIndex + 1);
System.out.println(fileName); //9
}
سٹرنگ کو اپر/ لوئر کیس میں تبدیل کریں:
سٹرنگ کلاس سٹرنگ کو اوپری اور لوئر کیس میں تبدیل کرنے کے طریقے فراہم کرتی ہے:toLowerCase()
toUpperCase()
public static void main(String[] args) {
String fry = "Philip J. Fry";
String lowerCaseFry = fry.toLowerCase();
String upperCaseFry = fry.toUpperCase();
System.out.println(lowerCaseFry); // philip j. fry
System.out.println(upperCaseFry); // PHILIP J. FRY
}
اس جاوا کلاس کے ساتھ کام کرنا JavaRush آن لائن کورس کی ابتدائی سطحوں پر پڑھا جاتا ہے:
- اسٹرنگ کا تعارف لیول 1، جاوا سنٹیکس کی تلاش کے لیکچر 4 پر دیا گیا ہے۔
- سٹرنگ کا اندرونی ڈھانچہ، سب اسٹرنگ کا طریقہ دوسری سطح پر پڑھا جاتا ہے، جاوا ملٹی تھریڈنگ کی تلاش کا تیسرا لیکچر
- سٹرنگ میں سب اسٹرنگ کو تلاش کرنا، حاصل کرنا، حذف کرنا جاوا ملٹی تھریڈنگ کی تلاش کے 2ویں درجے، چوتھے لیکچر پر پڑھا جاتا ہے۔
- String.format طریقہ جاوا ملٹی تھریڈنگ کی تلاش کے لیول 2، لیکچر 6 پر محیط ہے۔
اضافی ذرائع
اسٹرنگ کلاس کے بارے میں معلومات JavaRush کمیونٹی کے دیگر مضامین میں بھی فراہم کی گئی ہیں:- جاوا میں سٹرنگز - یہ مضمون جاوا میں سٹرنگز کے ساتھ کام کرنے کے بارے میں کچھ بنیادی باتوں کا احاطہ کرتا ہے۔
- جاوا سٹرنگ۔ انٹرویو کے سوالات اور جوابات، حصہ 1 - یہ مضمون موضوع پر انٹرویو کے سوالات پر بحث کرتا ہے
String
، اور وضاحتوں اور کوڈ کی مثالوں کے ساتھ سوالات کے جوابات بھی فراہم کرتا ہے۔ - جاوا میں سٹرنگز (کلاس java.lang.String) - یہ مضمون سٹرنگ کلاس کا گہرا تجزیہ فراہم کرتا ہے، اور اس کلاس کے ساتھ کام کرنے کی پیچیدگیوں پر بھی بات کرتا ہے۔
GO TO FULL VERSION