CodeGym /جاوا بلاگ /Random-UR /جاوا میں سٹرنگ کنکٹنیشن
John Squirrels
سطح
San Francisco

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

گروپ میں شائع ہوا۔
Java String concatenation دو یا دو سے زیادہ سٹرنگز کو جوڑنے اور ایک نیا واپس کرنے کا آپریشن ہے۔ نیز، کنکٹنیشن آپریشن کا استعمال سٹرنگز پر قسمیں ڈالنے کے لیے کیا جا سکتا ہے۔ آپ جاوا میں تاروں کو دو مختلف طریقوں سے جوڑ سکتے ہیں۔

concat() طریقہ

Concat() طریقہ دی گئی سٹرنگ کے آخر میں مخصوص سٹرنگ کو جوڑتا ہے اور پھر واپس آتا ہے اور پھر بنی ہوئی نئی سٹرنگ واپس کرتا ہے۔ یقینی طور پر ہم تین یا زیادہ تاروں کو جوڑنے کے لیے concat() طریقہ استعمال کر سکتے ہیں۔

concat() طریقہ دستخط

public String concat(String str)
طریقہ موجودہ سٹرنگ کے آخر میں سٹرنگ str کو جوڑتا ہے۔ مثال کے طور پر:
String s1 =Hello;
s1.concat("World")
ایک نیا سٹرنگ "ہیلو ورلڈ" لوٹاتا ہے۔

Concat() طریقہ مثال

آئیے ان کی شروعات کے بعد دو سٹرنگز کو کنکٹ کریں، پھر مزید سٹرنگز کو کنکٹ کریں۔ اور ایک اور دلچسپ مثال: ہم ایک ایسا طریقہ بنانے جا رہے ہیں جو دلیل کے مطابق مختلف پیغامات واپس کرے گا۔
public class ConcatTest {

    public static void main(String[] args) {
        //String concat with concat() method
        String string1 = "I learn ";
        String string2 = "concatenation in Java";
        //here we use concat() method to join the two strings above
        String result = string1.concat(string2);
        System.out.println(result);
        //concat() method to join 4 strings
        String myWebSite = "Code".concat("Gym").concat(".cc").concat("/quest");
        System.out.println(myWebSite); // here we've got  "CodeGym.cc/quest"

        System.out.println(myMessage(true));
        System.out.println(myMessage(false));
    }

    private static String myMessage(boolean b) {   //concat() method with selection statement
        return "I have".concat(b ? " " : "n't ").concat("got it");
    }

}
آؤٹ پٹ ہے:
میں جاوا CodeGym.cc/quest میں کنکٹنیشن سیکھتا ہوں مجھے یہ مل گیا ہے مجھے نہیں ملا
یہ جاننا ضروری ہے کہ concat() طریقہ سٹرنگ کو تبدیل نہیں کرتا ہے، لیکن موجودہ کو ضم کرنے کے نتیجے میں ایک نیا بناتا ہے اور ایک پیرامیٹر کے طور پر پاس کیا گیا ہے۔ تو طریقہ ایک نیا String آبجیکٹ واپس کرتا ہے، اسی لیے آپ String concat کی اتنی لمبی زنجیریں بنا سکتے ہیں۔

اوورلوڈ آپریٹرز "+" اور "+=" کا استعمال کرتے ہوئے جوڑنا

آپ ان دونوں آپریٹرز کو اسی طرح استعمال کر سکتے ہیں جیسے نمبرز کے ساتھ۔ وہ بالکل اسی طرح کام کرتے ہیں concat() ۔ آئیے سٹرنگ "کوڈ" اور سٹرنگ "جم" کو جوڑتے ہیں۔
public class StringConcat {
   public static void main(String[] args) {

       String myString = "Code" + "Gym";
       myString+= ".cc";
       System.out.println(myString);
   }
}
عام طور پر جاوا صارف کی کلاسوں کے لیے اوورلوڈنگ آپریشنز کی اجازت نہیں دیتا، لیکن یہ دونوں آپریٹرز اوورلوڈ کے طور پر کام کرتے ہیں۔ آپ سوچ سکتے ہیں کہ + آپریٹر کے اندر concat() چھپا ہوا ہے ، لیکن درحقیقت یہاں ایک اور طریقہ کار استعمال کیا گیا ہے۔ اگر ہم جاوا پروگرام بائٹ کوڈ کو دیکھیں تو ہم دیکھیں گے کہ StringBuilder بنایا گیا تھا اور اس کا append() طریقہ استعمال کیا گیا ہے۔ جاوا کمپائلر "+" آپریٹر کو دیکھتا ہے اور سمجھتا ہے کہ آپرینڈز سٹرنگز ہیں، پرائمیٹو اقسام نہیں۔ تو یہ concat کی طرح کام کرتا ہے۔
public class StringTest2 {

   public static void main(String[] args) {

       String hello = "hello";
       String world = " world!";

       String helloworld = (new StringBuilder().append(hello).append(world).toString());
       System.out.println(helloworld);
       //this is the same as:
       String result = hello + world;
   }
}

Concat(0) یا +؟

اگر آپ کو صرف ایک بار تاروں کو ضم کرنے کی ضرورت ہے تو concat() طریقہ استعمال کریں۔ دیگر تمام معاملات کے لیے، بہتر ہے کہ یا تو + یا Stringbuffer / StringBuilder آپریٹر استعمال کریں۔ نیز، + آپریٹر کو اقسام کو تبدیل کرنے کے لیے استعمال کیا جاتا ہے۔ اگر آپرینڈز میں سے ایک برابر ہے، مثال کے طور پر، نمبر اور دوسرا سٹرنگ ہے، تو باہر نکلنے پر ہمیں ایک سٹرنگ ملے گی۔ مثال:
public class StringConcat {
   public static void main(String[] args) {
       int myInt = 5;
       String myString = " days";

       System.out.println(myInt + myString);
       boolean b = (myInt + myString) instanceof String;
       System.out.println(b);
   }
}
ہم نے مثال کے طور پر یہ چیک کرنے کے لیے استعمال کیا کہ آیا (myInt + myString) ایک سٹرنگ ہے۔ اس پروگرام کا آؤٹ پٹ یہ ہے:
5 دن سچ
یہ بھی نوٹ کریں کہ + آپریٹر اور concat() مختلف طریقے سے کام کرتے ہیں اگر تاروں میں سے کوئی ایک null ہے۔ اگر + یا += آپریٹر استعمال کرتے وقت آپرینڈز میں سے ایک صرف ایک ہے — ایک سٹرنگ، تو جیسا کہ ہم نے پہلے کہا ہے، ٹائپ کنورژن ہوتا ہے۔ null پر بھی یہی لاگو ہوتا ہے۔ ہمیں صرف ایک نئی تار ملے گی:
public class StringConcat {
   public static void main(String[] args) {

       String myString = "book ";
       System.out.println(myString + null);
       System.out.println((myString + null) instanceof String);
   }
}
آؤٹ پٹ ہے:
کتاب null true
اگر ہم اسی آپریشن کے لیے concat() طریقہ کا اطلاق کرتے ہیں، تو ہمیں ایک NullPointerException ملے گا ۔
public class StringConcat {
   public static void main(String[] args) {

       String myString = "book ";
       System.out.println(myString.concat(null));

   }
}
آؤٹ پٹ ہے:
دھاگے میں استثناء java.lang.NullPointerException at java.base/java.lang.String.concat(String.java:1972) StringConcat.main(StringConcat.java:6) پر
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION