• 0

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

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

تُعتبر 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);

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن