اذهب إلى المحتوى
  • 0

ما الفرق بين String و StringBuffer في جافا؟

عامر بيرادي

السؤال

وجدت كثيرًا من المواضع التي استخدم فيها StringBuffer هل يوجد فرق بينها وبين String من ناحية الاستخدام؟ وما هي الحالات التي نستخدم فيها StringBuffer؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

تُعتبر String كائن immutable  أي أنه غير قابلة للتغيير. القيمة التي تُخزن في الكائن String لا يمكن تغييرها أي أنه في كل مرة سيتم إنشاء object جديد مثال:

String myString = “Hello”;
myString = myString + ” Guest”;


عند طباعة محتوى myString سيكون “Hello Guest” بالرغم من أنه تم استخدام نفس الكائن object وهو myString.

بشكل ضمني تم إنشاء كائن جديد في العملية "=+ " وهذا طبعًا يؤثر على الأداء performance.

أما StringBuffer فهو كائن قابل للتغيير mutable أي أنه يمكن التعديل على نفس الكائن من دون إنشاء كائن جديد (القيمة المخزنة في StringBuffer قابلة للتغيير).

في StringBuffer تكون عملية الإلحاق append أكثر فعالية من عملية "=+" في الكائن String مثال:

String str = “Be Happy With Your Salary.''
str += “Because Increments are a myth";
StringBuffer strbuf = new StringBuffer();
strbuf.append(str);
System.out.println(strbuf);
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...