الفرق بين String و StringBuffer و StringBuilder في Java - تم إرفاق المثال

نشرت: 2022-01-30
الفرق بين String و StringBuffer و StringBuilder في Java - تم إرفاق المقارنة والمثال

في هذا البرنامج التعليمي لـ Java ، سنتطرق إلى الاختلاف بين Java String و StringBuffer و StringBuilder.

هيا بنا نبدأ:

سلسلة:

تمثل فئة String سلاسل الأحرف. يتم تنفيذ جميع النصوص الحرفية في برامج Java ، مثل "crunchify" ، كنسخ من هذه الفئة. الأوتار ثابتة. لا يمكن تغيير قيمها بعد إنشائها.

StringBuffer:

سلسلة أحرف قابلة للتغيير وآمنة في الخيط. المخزن المؤقت للسلسلة يشبه السلسلة ، ولكن يمكن تعديله.

يحتوي في أي وقت على تسلسل معين من الأحرف ، ولكن يمكن تغيير طول ومحتوى التسلسل من خلال استدعاءات طريقة معينة.

المخازن المؤقتة للسلسلة آمنة للاستخدام بواسطة خيوط متعددة.

StringBuilder:

تسلسل متغير من الأحرف. توفر هذه الفئة واجهة برمجة تطبيقات متوافقة مع StringBuffer ، ولكن دون ضمان التزامن.

تم تصميم هذه الفئة لاستخدامها كبديل مؤقت لـ StringBuffer في الأماكن التي تم فيها استخدام مخزن السلسلة المؤقت بواسطة مؤشر ترابط واحد (كما هو الحال بشكل عام).

حيثما أمكن ، يوصى باستخدام هذه الفئة بدلاً من StringBuffer لأنها ستكون أسرع في معظم التطبيقات.

دعنا نقارن كل ما يلي من خصائص String و StringBuffer و StringBuilder.

سلسلة StringBuffer StringBuilder
موضوع آمن؟ نعم نعم رقم
متزامن؟ نعم نعم رقم
قابل للتعديل؟ لا (غير قابل للتغيير) نعم (متغير) نعم (متغير)
تخزين تجمع الخيوط كومة كومة
أداء بطيء بسرعة بسرعة

كود جافا:

  • إنشاء فئة: CrunchifyStringVsStringBufferVsStringBuilder.java
  • ضع الرمز أدناه فيه
  • احفظ الملف

في هذا البرنامج التعليمي ، نقوم بإضافة سلسلة إلحاق إجمالي 199999 مرة.

نتيجة وحدة التحكم IntelliJ IDEA:

قم بتشغيل البرنامج أعلاه كتطبيق Java في IntelliJ IDEA أو في Eclipse Console وستكون النتيجة على النحو التالي.

اسمحوا لي أن أعرف إذا كنت تواجه أي مشكلة تعمل فوق البرنامج أو لديك أي سؤال بين String و StringBuffer و StringBuilder.