رسم بياني للمقارنة
أساس للمقارنة | خيط | StringBuffer |
---|---|---|
الأساسية | طول عنصر السلسلة ثابت. | يمكن زيادة طول StringBuffer. |
تعديل | كائن السلسلة غير قابل للتغيير. | كائن StringBuffer قابل للتغيير. |
أداء | يكون أبطأ أثناء التسلسل. | إنه أسرع أثناء التسلسل. |
ذاكرة | يستهلك المزيد من الذاكرة. | تستهلك ذاكرة أقل. |
تخزين | تجمع ثابت السلسلة. | ذاكرة كومة. |
تعريف السلسلة
"String" هي فئة في Java. إن موضوع السلسلة Class ذو طول ثابت ، والأهم من ذلك أن نتذكر ، أن موضوع طبقة السلسلة "غير قابل للتغيير". بمجرد تهيئة كائن السلسلة ، لا يمكنك تعديل هذا الكائن مرة أخرى. يتم تخزين كائن الفئة Class في تجمع ثابت السلسلة.
دعونا أولا نفهم ذلك ، كلما قمت بإنشاء أي سلسلة ؛ تقوم بإنشاء كائن من نوع سلسلة. ثوابت السلسلة هي أيضاً كائنات سلسلة.
System.out.println ("Hello this is Teckpix Solution")؛
في الجملة أعلاه ، السلسلة "Hello this is Teckpix Solution" هي ثابت سلسلة.
الآن دعونا نفهم تحور كائن السلسلة بمساعدة مثال.
str str = new String ("Teckpix")؛ str.concat ( "الحل")؛ system.out.println (str)؛ // الإخراج Teckpix
في التعليمات البرمجية أعلاه ، حاولت أن أصف سلسلتي "Teckpix" و "Solution". كما نعلم عندما يتم إنشاء سلسلة تعني أن الكائن من النوع String قد تم إنشاؤه. ومن ثم ، تنشئ سلسلة "Teckpix" كائنًا ، يتم تعيين مرجعه إلى كائن السلسلة "str". بعد ذلك ، حاولت أن أسلسل سلسلة أخرى من "الحل" بسلسلة "Teckpix" باستخدام طريقة "concat ()" للفئة String.
تعريف StringBuffer
الفئة "StringBuffer" هي فئة النظير من الطبقة "String". يوفر Class StringBuffer المزيد من الوظائف إلى السلاسل. الكائن من الفئة StringBuffer هو قابل للتغيير ويمكن تعديل كائنه. طول الكائن StringBuffer قابلة للتطوير. يمكنك إدراج الأحرف أو سلاسل فرعية في منتصف السلسلة الحرفية التي تم تعيينها إلى كائن StringBuffer أو في نهاية ذلك. يخصص StringBuffer مساحة لـ 16 حرفاً إضافية عند طلب أي طول محدد.
دعنا نفهم تحوُّل كائن StringBuffer بمساعدة مثال:
StringBuffre Sb = New StringBuffer ("Teckpix")؛ Sb.append ( "الحل")؛ system.out.println (Sb)؛ // Output Teckpix Solution
كما نعلم أن كائن StringBuffer قابل للتغيير. يقوم الأسلوب الذي تم إلحاقه () بتعديل كائن StringBuffer Sb الذي تم تعيينه في البداية إلى مرجع الكائن "Teckpix" سابقًا. يلحق الأسلوب إلحاقي () السلسلة الجديدة الحرفية "الحل" ، إلى نهاية السلسلة الحرفية "Teckpix". الآن عندما أطبع الكائن Sb ، ستقوم بطباعة كائن السلسلة المعدّل "Teckpix Solutions".
الفرق الرئيسي بين سلسلة و StringBuffer
- يتم إصلاح طول String الكائن ولكن يمكن زيادة طول كائن StringBuffer عند الحاجة.
- كائن السلسلة غير قابل للتغيير ، بمعنى أنه لا يمكن إعادة تعيين الكائن مرة أخرى بينما يكون كائن StringBuffer قابلاً للتغيير.
- كائن سلسلة أبطأ في الأداء بينما ، كائن StringBuffer بشكل أسرع.
- يستهلك كائن سلسلة ذاكرة أكبر بينما تستهلك كائنات StringBuffer ذاكرة أقل.
- يتم تخزين كائنات سلسلة في تجمع ثابت بينما يتم تخزين كائنات StringBuffer في ذاكرة كومة الذاكرة المؤقتة.
استنتاج:
توفر كائنات StringBuffer المزيد من الوظائف إلى السلاسل بالمقارنة مع الفئة Class. وبالتالي ، فمن الأفضل العمل مع StringBuffer بدلاً من فئة السلسلة.