CodeGym /مدونة جافا /Random-AR /تسلسل السلسلة في جافا
John Squirrels
مستوى
San Francisco

تسلسل السلسلة في جافا

نشرت في المجموعة
سلسلة Java String هي عملية لربط سلسلتين أو أكثر وإرجاع سلسلة جديدة. كما يمكن استخدام عملية التسلسل لتحويل الأنواع إلى سلاسل. يمكنك ربط السلاسل في Java بطريقتين مختلفتين.

طريقة كونكات ().

تقوم طريقة Concat() بإلحاق السلسلة المحددة في نهاية السلسلة المحددة ثم ترجع ثم ترجع سلسلة جديدة مشكلة. بالتأكيد يمكننا استخدام طريقة concat() لربط ثلاث سلاسل أو أكثر.

توقيع طريقة concat ().

public String concat(String str)
تقوم الطريقة بتسلسل السلسلة في نهاية السلسلة الحالية. على سبيل المثال:
String s1 =Hello;
s1.concat("World")
إرجاع سلسلة جديدة "Hello 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");
    }

}
الإخراج هو:
أتعلم التسلسل في Java CodeGym.cc/quest لقد حصلت عليه ولم أحصل عليه
من المهم أن تعرف أن طريقة concat() لا تغير السلسلة، ولكنها تنشئ سلسلة جديدة نتيجة لدمج السلسلة الحالية وتلك التي تم تمريرها كمعلمة. لذلك تقوم الطريقة بإرجاع كائن سلسلة جديد ، ولهذا السبب يمكنك إنشاء مثل هذه السلاسل الطويلة من سلسلة متسلسلة.

التسلسل باستخدام عوامل التشغيل المحملة بشكل زائد "+" و"+="

يمكنك استخدام هذين العاملين بنفس الطريقة كما هو الحال مع الأرقام. إنهم يعملون تمامًا مثل concat() . دعونا نسلسل السلسلة "Code" والسلسلة "Gym".
public class StringConcat {
   public static void main(String[] args) {

       String myString = "Code" + "Gym";
       myString+= ".cc";
       System.out.println(myString);
   }
}
عادةً لا تسمح Java بعمليات التحميل الزائد لفئات المستخدمين، لكن هذين العاملين يعملان بشكل زائد. قد تعتقد أن داخل عامل التشغيل + يخفي concat() ، ولكن في الواقع، يتم استخدام آلية أخرى هنا. إذا نظرنا إلى الكود الثانوي لبرنامج Java، فسنرى أنه تم إنشاء StringBuilder وتم استخدام طريقة append() الخاصة به. يرى مترجم Java عامل التشغيل "+" ويدرك أن المعاملات عبارة عن سلاسل، وليست أنواعًا بدائية. لذلك يعمل مثل 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;
   }
}

كونكات(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() يعملان بشكل مختلف إذا كانت إحدى السلاسل فارغة. إذا كان أحد المعاملات عند استخدام عامل التشغيل + أو += عبارة عن سلسلة واحدة فقط، فكما قلنا سابقًا، يحدث تحويل النوع. الأمر نفسه ينطبق على فارغة. سنحصل فقط على سلسلة جديدة:
public class StringConcat {
   public static void main(String[] args) {

       String myString = "book ";
       System.out.println(myString + null);
       System.out.println((myString + null) instanceof String);
   }
}
الإخراج هو:
كتاب لاغية صحيح
إذا قمنا بتطبيق طريقة concat() لنفس العملية، فسنحصل على NullPointerException .
public class StringConcat {
   public static void main(String[] args) {

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

   }
}
الإخراج هو:
استثناء في مؤشر الترابط "الرئيسي" java.lang.NullPointerException في 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