عندما استخدمت Java في وقت سابق ، عرفت أن هناك فصلًا يسمى StringBuffer للسلسلة مع خياطة أطول. بعد الانتقال إلى C#، هناك أيضًا نوع من الوظائف يسمى StringBuilder.
في وقت لاحق ، عندما انتقلت مرة أخرى إلى Java ، وجدت أن Java لديها أيضًا StringBuilder ، لذلك كنت فضوليًا لماذا أطلقت StringBuilder بعد StringBuffer.
اتضح أن stringBuilder من Java (مثل C#) هو أمان غير متخلف ، وأن StringBuffer السابقة لديه سمة أمان مؤشر ترابط معينة. بطبيعة الحال ، فإن إطلاق StringBuilder يرجع أساسًا إلى أنه لا يلزم استخدامه في مؤشرات ترابط متعددة.
الحالة الشائعة لـ StringBuilder (أو StringBuffer) هي ::
السلسلة العامة toString () {return new StringBuilder () .Appnd ("name:" + name) .Appnd ("foo:" + foo) .AppND ("bar:" + bar) .tring () ؛}
في هذه الحالة ، ليس StringBuilder عضوًا في الفصل.
نتيجة لذلك ، جلب إدخال StringBuilder تحسينًا رائعًا للأداء ، ولم تكن هناك مشكلة أمنية ...