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

الفرق بين string و stringbuilderو stringbuffer في جافا؟

Mohamed Sead

السؤال

ما هو الفرق بين string و stringbuilder وstringbuffer

يقول البعض اننا لانستطيع تغير string لذلك نستخدم stringbuilder

والدليل في الكود التالي

 String string1 = "string1";
  String string2 = "string2";
  string1=string2;
  System.out.println(string1);

والنتيجه ستكون=  String2

 

تم التعديل في بواسطة Mohamed Sead
error
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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);

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...