السلسلة هي فئة ثابتة. سيؤدي استخدام السلسلة لتعديل السلسلة إلى إنشاء كائن سلسلة جديد. إذا تم تعديله بشكل متكرر ، فسيتم إنشاء العديد من كائنات السلسلة ، وهو أمر مكلف للغاية. لذلك ، توفر Java فئة StringBuffer ، والتي هي أكثر كفاءة من السلسلة في سلاسل تعديل.
هناك 3 فصول في Java مسؤولة عن عمليات الشخصية.
الفئة العامة usingstringBuffer { / *** ابحث عن سلسلة مطابقة* / public static void testfindstr () {StringBuffer SB = new StringBuffer () ؛ sb.append ("هذا هو StringBuffer") ؛ // إرجاع الموضع حيث يظهر السلسلة الفرعية أولاً في السلسلة. إذا لم يكن موجودًا ، فأرجع نظام الأرقام السالبة. // قم بتعيين المعلمات لطريقة indexof وحدد نظام التشغيل المطابق. // إرجاع الموضع الأخير من السلسلة في السلسلة. إذا لم يكن موجودًا ، فأرجع نظام الأرقام السلبية. // قم بتعيين المعلمات لطريقة LastIndExof وحدد نظام الموضع النهائي المطابقة. } / *** اعتراض السلسلة* / public static void testSubstr () {StringBuffer SB = new StringBuffer () ؛ sb.append ("هذا هو StringBuffer") ؛ . // تعترض طريقة السلسلة الفرعية على السلسلة ، والتي يمكن أن تحدد موضع البداية وموضع الإنهاء لنظام Intercept.out.print ("sb.substring (4،9) =" + sb.substring (4 ، 9)) ؛ } / ** * احصل على الأحرف في موضع معين في السلسلة * / public static void testcharatstr () {StringBuffer sb = new StringBuffer ("هذا هو StringBuffer") ؛ system.out.println (sb.charat (sb.length () - 1)) ؛ } / *** أضف أنواعًا مختلفة من البيانات إلى ذيل السلسلة* / public static void testAppend () {StringBuffer SB = New StringBuffer ("هذا هو StringBuffer!") ؛ sb.append (1.23f) ؛ System.out.println (SB.ToString ()) ؛ } / *** حذف البيانات في السلسلة* / public static void testDelete () {StringBuffer SB = new StringBuffer ("هذا هو StringBuffer!") ؛ sb.delete (0 ، 5) ؛ sb.deletecharat (sb.length () - 1) ؛ System.out.println (SB.ToString ()) ؛ } / *** أدخل أنواعًا مختلفة من البيانات في السلاسل* / public static void testinsert () {StringBuffer SB = new StringBuffer ("هذا هو StringBuffer!") ؛ // يمكن إدراج الأحرف ، صفائف الأحرف ، الأوتار ، والأرقام المختلفة والقيم المنطقية في مواضع محددة sb.insert (2 ، 'W') ؛ sb.insert (3 ، new char [] {'a' ، 'b' ، 'c'}) ؛ SB.Insert (8 ، "ABC") ؛ sb.insert (2 ، 3) ؛ sb.insert (3 ، 2.3f) ؛ SB.Insert (6 ، 3.75D) ؛ sb.insert (5 ، 9843l) ؛ sb.insert (2 ، صحيح) ؛ System.out.println ("TestInsert:" + sb.toString ()) ؛ } / *** استبدل بعض الأحرف في سلسلة* / public static void testReplace () {StringBuffer SB = new StringBuffer ("هذا هو StringBuffer!") ؛ // استبدل حرفًا معينًا في سلسلة بسلسلة أخرى sb.replace (10 ، sb.length () ، "integer") ؛ System.out.println ("TestReplace:" + SB.ToString ()) ؛ } / *** سلسلة عكسية* / public static void reversestr () {StringBuffer sb = new StringBuffer ("هذا هو stringBuffer!") ؛ system.out.println (sb.reverse ()) ؛ // العكسي يعكس السلسلة}} ملخص:
StringBuffer ليس فئة ثابتة. عند تعديل محتوى السلسلة ، لا يتم إنشاء كائنات جديدة. لذلك ، فهي أكثر ملاءمة لتعديل السلاسل من فئات السلسلة ؛
لا توفر فئة StringBuffer نفس طريقة tochararray مثل String ؛
تختلف طريقة استبدال فئة StringBuffer عن طريقة استبدال فئة السلسلة. طريقة استبدالها لها ثلاث معلمات. تحدد المعلمة الأولى موضع البداية للفرعية التي تم استبدالها ، وتحدد المعلمة الثانية الموضع النهائي للفرعية التي تم استبدالها ، وتحدد المعلمة الثالثة الفرعية الجديدة.
ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون مفيدًا لتعلم الجميع.