JavaRush /جاوا بلاگ /Random-UR /جاوا میں سٹرنگ کلاس

جاوا میں سٹرنگ کلاس

گروپ میں شائع ہوا۔
جاوا میں سٹرنگ کلاس کو جاوا میں سٹرنگز کے ساتھ کام کرنے کے لیے ڈیزائن کیا گیا ہے۔ جاوا پروگرام میں بیان کردہ تمام سٹرنگ لٹریلز (مثال کے طور پر، "abc") String کلاس کی مثالیں ہیں۔ آئیے اس کی اہم خصوصیات کو دیکھتے ہیں:
  1. کلاس Serializableاور انٹرفیس کو نافذ کرتی ہے CharSequence۔ چونکہ یہ پیکج میں شامل ہے java.lang، اس لیے اسے درآمد کرنے کی ضرورت نہیں ہے۔
  2. جاوا میں سٹرنگ کلاس ایک آخری کلاس ہے اور اس میں بچے نہیں ہو سکتے۔
  3. سٹرنگ کلاس ایک ناقابل تغیر کلاس ہے، یعنی اس کی اشیاء کو بننے کے بعد تبدیل نہیں کیا جا سکتا۔ سٹرنگ آبجیکٹ پر کوئی بھی آپریشن جس کے نتیجے میں سٹرنگ کلاس کے کسی شے کے نتیجے میں ایک نئی آبجیکٹ کی تخلیق ہو گی۔
  4. ان کی غیر متغیر ہونے کی وجہ سے، سٹرنگ کلاس اشیاء تھریڈ محفوظ ہیں اور ملٹی تھریڈڈ ماحول میں استعمال کی جا سکتی ہیں۔
  5. جاوا میں موجود ہر آبجیکٹ کو اس طریقہ کے ذریعے سٹرنگ میں تبدیل کیا جا سکتا ہے toStringجو تمام جاوا کلاس کلاس سے وراثت میں ملتی ہے Object۔
جاوا میں اسٹرنگ کلاس - 1

جاوا سٹرنگ کے ساتھ کام کرنا

یہ جاوا میں سب سے زیادہ استعمال ہونے والی کلاسوں میں سے ایک ہے۔ اس میں سٹرنگ میں بعض حروف کا تجزیہ کرنے، سٹرنگز کا موازنہ اور تلاش کرنے، سب اسٹرنگز نکالنے، سٹرنگ کی ایک کاپی بنانے کے لیے تمام حروف کو لوئر اور اپر کیس میں تبدیل کرنے کے طریقے ہیں، اور دیگر۔ سٹرنگ کلاس کے تمام طریقوں کی فہرست سرکاری دستاویزات میں مل سکتی ہے ۔ جاوا کنکٹنیشن (سٹرنگز کو جوڑنے) کے لیے ایک سادہ طریقہ کار بھی نافذ کرتا ہے، پرائمٹیو کو سٹرنگ میں تبدیل کرتا ہے اور اس کے برعکس۔ آئیے جاوا میں سٹرنگ کلاس کے ساتھ کام کرنے کی کچھ مثالیں دیکھتے ہیں۔

سٹرنگز بنانا

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
     */
}

لائن میں کسی عنصر کی پوزیشن کا تعین کرنا

جاوا زبان میں، سٹرنگ اسٹرنگ میں کسی کریکٹر/سبسٹرنگ کی پوزیشن کا تعین کرنے کے لیے طریقوں کا ایک سیٹ فراہم کرتا ہے:
  1. indexOf(int ch)
  2. indexOf(int ch, int fromIndex)
  3. indexOf(String str)
  4. indexOf(String str, int fromIndex)
  5. lastIndexOf(int ch)
  6. lastIndexOf(int ch, int fromIndex)
  7. lastIndexOf(String str)
  8. lastIndexOf(String str, int fromIndex)
کہاں:
  1. ch- وہ علامت جسے آپ تلاش کر رہے ہیں ( char)
  2. str--.تلاش کی تار
  3. fromIndex— وہ پوزیشن جہاں سے عنصر کو تلاش کرنا ہے۔
  4. طریقے indexOf- پائے جانے والے پہلے عنصر کی پوزیشن واپس کریں۔
  5. طریقے lastIndexOf- پائے گئے آخری عنصر کی پوزیشن واپس کریں۔
اگر آپ جس عنصر کی تلاش کر رہے ہیں وہ نہیں ملا ہے، تو طریقے لائن -1 واپس کر دیں گے۔ آئیے انگریزی حروف تہجی میں حروف کا سیریل نمبر تلاش کرنے کی کوشش کرتے ہیں 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 آن لائن کورس کی ابتدائی سطحوں پر پڑھا جاتا ہے:

اضافی ذرائع

اسٹرنگ کلاس کے بارے میں معلومات JavaRush کمیونٹی کے دیگر مضامین میں بھی فراہم کی گئی ہیں:
  1. جاوا میں سٹرنگز - یہ مضمون جاوا میں سٹرنگز کے ساتھ کام کرنے کے بارے میں کچھ بنیادی باتوں کا احاطہ کرتا ہے۔
  2. جاوا سٹرنگ۔ انٹرویو کے سوالات اور جوابات، حصہ 1 - یہ مضمون موضوع پر انٹرویو کے سوالات پر بحث کرتا ہے String، اور وضاحتوں اور کوڈ کی مثالوں کے ساتھ سوالات کے جوابات بھی فراہم کرتا ہے۔
  3. جاوا میں سٹرنگز (کلاس java.lang.String) - یہ مضمون سٹرنگ کلاس کا گہرا تجزیہ فراہم کرتا ہے، اور اس کلاس کے ساتھ کام کرنے کی پیچیدگیوں پر بھی بات کرتا ہے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION