هناك نوعان من عمليات السلسلة في Java: فئة سلسلة وفئة StringBuffer (فئة معالجة السلسلة العازلة).
دعنا نتحدث بإيجاز عن الفرق بين الاثنين.
توفر كل من فئة السلسلة وفئة StringBuffer طرقًا مقابلة لتنفيذ عمليات السلسلة ، لكن الاثنين مختلفان قليلاً.
(1) فئة السلسلة
بمجرد أن تنتج هذه الفئة سلسلة ، فإن كائنها غير قابل للتغيير. يتم إصلاح محتوى وطول فئة السلسلة. إذا احتاج البرنامج إلى الحصول على معلومات السلسلة ، فمن الضروري استدعاء طرق تشغيل السلسلة المختلفة التي يوفرها النظام. على الرغم من أنه يمكن تطبيق العمليات على السلاسل من خلال طرق النظام المختلفة ، فإن هذا لا يغير مثيل الكائن نفسه ، ولكنه يولد مثيلًا جديدًا. يخصص النظام الذاكرة لكائنات فئة السلسلة ، والتي يتم تخصيصها وفقًا للعدد الفعلي للأحرف الواردة في الكائن.
(2) فئة StringBuffer
راجعت كلمة المخزن المؤقت ، مما يعني التخزين المؤقت ، ويجب أن يكون لهذا الفئة وظيفة التخزين المؤقت. هذا الفصل يتعامل مع السلاسل المتغيرة. إذا كنت ترغب في تعديل سلسلة فئة StringBuffer ، فلن تحتاج إلى إنشاء كائن سلسلة جديد ، ولكن قم بتشغيل السلسلة الأصلية مباشرة. تختلف طرق تشغيل السلسلة المختلفة في هذه الفئة عن تلك التي توفرها فئة السلسلة. عندما يخصص النظام ذاكرة فئة StringBuffer ، بالإضافة إلى المساحة التي تشغلها الأحرف الحالية ، فإنه يوفر أيضًا عازلة إضافية من 16 حرفًا. كل كائن stringBuffer لديه سعة مخزن مؤقت معين. عندما لا يتجاوز حجم السلسلة السعة ، فلن يتم تخصيص السعة الجديدة. عندما يتجاوز حجم السلسلة السعة ، سيتم زيادة السعة تلقائيًا.
فيما يلي بعض الأمثلة المحددة
اتصال السلسلة
هناك طريقتان لفئة السلسلة
النوع الأول ("+")
الفئة العامة str {public static void main (string [] args) {string str1 = "إضافة المؤثرات الخاصة!" ؛ String str2 = "duang ~~" ؛ System.out.println (str1+""+str2) ؛ }}النوع الثاني ("Concat")
الفئة العامة str {public static void main (string [] args) {string str1 = "إضافة المؤثرات الخاصة!" ؛ String str2 = "duang ~~" ؛ System.out.println (str1.concat (str2)) ؛ }}طرق فئة StringBuffer
الفئة العامة str {public static void main (string [] args) {// إنشاء كائن يعزز سلاسل SB SB stringBuffer SB = new StringBuffer ("إضافة المؤثرات الخاصة!") ؛ // استخدم طريقة إلحاق لإضافة سلسلة جديدة sb.append ("duang ~~") ؛ System.out.println (SB) ؛ }}نتائج الإخراج النهائية هي: إضافة مؤثرات خاصة! duang ~~
ليس من الصعب رؤية من المثال أعلاه أنه عندما يتم تمديد فئة السلسلة ، فإنه يحتاج إلى مثال كائنين ، سيشغل كل كائن قدرًا معينًا من الذاكرة. لا تحتاج فئة StringBuffer إلى إنشاء إنشاء فئة جديدة ، بل تحتاج فقط إلى استدعاء طريقة ممتدة.
هناك أيضًا نقطة يكون فيها سعة ذاكرة فئة StringBuffer قابلة للتطوير. لنقدم مثالًا محددًا:
الفئة العامة str {public static void main (string [] args) {// inclare string object sb stringBuffer sb = new StringBuffer (40) ؛ system.out.println (sb.capacity ()) ؛ // سعة سلسلة الإخراج سعة sb.ensureCapacity (100) ؛ // توسيع السعة system.out.println (sb.capacity ()) ؛ // سعة سعة سلسلة الإخراج}}تمثل طريقة COPMENT () عدد كائنات السلسلة التي يمكن أن تستوعب السلاسل في الذاكرة. إذا كنت ترغب في توسيع سعة الذاكرة ، فيمكنك استخدام Method EnsureCapacity ().
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.