السلسلة ، و stringbuffer ، و stringbuilder في Java هي فئات السلسلة التي تستخدم غالبًا في البرمجة. لتلخيص ، انظر إلى خلافاتهم ونفس الشيء.
1. متغير وغير متغير
تستخدم فئة السلسلة مجموعة الأحرف لحفظ السلسلة.
قيمة char النهائية الخاصة [] ؛
يتم توريث كل من StringBuilder و StringBuffer من فئة AbstractStringBuilder.
char [] القيمة ؛
2. هل هو آمن؟
الكائنات الموجودة في السلسلة غير قابلة للتغيير ، والتي يمكن فهمها على أنها ثابتة ، من الواضح أن الخيط آمن.
AbstractStringBuilder هي فئة من الوالدين العامة بين StringBuilder و StringBuffer ، وتحديد العاملين الأساسيين لبعض الأسلاك ، مثل توسيع نطاق الإلحاح ، الإدراج ، الفهرس والأساليب العامة الأخرى.
يضيف StringBuffer قفلًا متزامنًا أو يتم إضافة طريقة الاتصال إلى الطريقة ، لذلك فهو مؤشر ترابط. انظر رمز المصدر التالي:
نسخ رمز رمز على النحو التالي:
stringbuffer stringbuffer العامة () {{) {
super.reverse () ؛
إرجاع هذا ؛
}
int indexof العام (سلسلة str) {
إرجاع فهرس (str ، 0) ؛
}
لا يحتوي StringBuilder على قفل متزامن على الطريقة ، لذلك فهو أمان غير مشترك.
3. StringBuilder و StringBuffer مشترك
stringbuilder و stringbuffer لديهم الوالدين العام -class agrxtStringBuilder (فئة مجردة).
أحد الاختلافات بين الفئات المجردة والواجهات: يمكن تعريف بعض الأساليب العامة لبعض الفئات الفرعية في الفئات الفرعية فقط. من الطريقة في الواجهة.
أساليب stringBuilder و StringBuffer جميعها تسمي الأساليب العامة في الملخصات Builder ، مثل Super.Appending (...). إنها فقط ستضيف StringBuffer الكلمة الرئيسية المتزامنة إلى الطريقة المراد مزامنتها.
أخيرًا ، إذا لم يكن البرنامج متعدد الخيوط ، فإن كفاءة استخدام StringBuilder أعلى من StringBuffer.