تم تعديل السلسلة التي توفرها فئة StringBuffer هذه. يمكنك استخدام StringBuffer عندما تعلم أن بيانات الشخصية ستتغير. عادةً ما تستخدم StringBuffers لإنشاء بيانات الأحرف ديناميكيًا.
هناك ثلاث فئات في Java مسؤولة عن عمليات الأحرف.
1. الحرف يعمل على حرف واحد.
2.String يعمل على سلسلة من الأحرف. فئات غير قابلة للتغيير.
3.StringBuffer يعمل أيضًا على سلسلة من الأحرف، ولكنه فئة متغيرة.
خيط:
إنه كائن وليس نوعًا بدائيًا.
إنه كائن غير قابل للتغيير، بمجرد إنشائه، لا يمكن تعديل قيمته.
يتضمن أي تعديل على كائن سلسلة موجود إعادة إنشاء كائن جديد ثم حفظ القيمة الجديدة فيه.
السلسلة هي فئة نهائية، أي أنها لا يمكن أن تكون موروثة.
StringBuffer:
إنه كائن قابل للتغيير، ولن يتم إعادة إنشاء الكائن مثل السلسلة، ولا يمكن إنشاؤه إلا من خلال المُنشئ.
StringBuffer sb = new StringBuffer();
ملحوظة: لا يمكن الدفع عن طريق رموز الدفع.
sb = "مرحبًا بك هنا!";//خطأ
بعد إنشاء الكائن، سيتم تخصيص مساحة الذاكرة في الذاكرة وسيتم حفظ قيمة خالية في البداية إلى StringBuffer
عند دفع القيمة، يمكنك استخدام طريقة الإلحاق الخاصة بها.
sb.append("مرحبا");
ما ورد أعلاه هو مقتطف شائع على الإنترنت، وفيما يلي رؤيتي المضافة:
لا يمكن تغيير العنوان، ولكن يمكن تغيير الطول والمحتوى. طريقة الإلحاق () هي الإلحاق عند تجاوز الذاكرة المحجوزة، يتم مضاعفة الذاكرة.
مقارنة الكفاءة: StringBuffer أعلى من String. نظرًا لأن StringBuffer لديه مساحة محجوزة ويستمر في الإلحاق، فهو يعمل فقط على كائن واحد. لا يمكن تعديل السلسلة، ولا يمكن إنشاء الكائنات إلا بشكل متكرر لتحقيق التعديل. ――إذا كنت تقوم بإلحاق سلاسل أو استبدالها أو تعديلها أو إدراجها أو حذفها بشكل متكرر، فمن الأفضل استخدام StringBuffer. إذا كان يجب عليك استخدام String، فيمكنك استخدام StringBuffer للاتصال بـ String() لتحويله إلى String.
جهازي سيء جدًا، والنتيجة بعد تشغيله هي:
وقت تشغيل السلسلة: 164593
------------------
وقت تشغيل StringBuffer: 31
علاوة على ذلك، تحتوي السلسلة على طريقة تحتوي، لكن StringBuffer لا تحتوي عليها. يحتوي على وسائل بما في ذلك. هنا يمكنك تذكر الطريقة التي تحتوي على.
نتيجة التنفيذ هي
حقيقي