JavaRush /مدونة جافا /Random-AR /فئة StringBuilder في Java 8 مع مثال عملي
Нина Можарская
مستوى
Киев

فئة StringBuilder في Java 8 مع مثال عملي

نشرت في المجموعة
يقوم الفصل Stringبإنشاء سلاسل غير قابلة للتغيير. هذا يعني أنه إذا قمت بتطبيق أي عملية على سلسلة أو عملية على سلسلة، ستكون النتيجة سلسلة جديدة. إذا لم يتم تعيين هذه السلسلة الجديدة لأي متغير، فسيتم فقدان نتيجة العملية. وبناء على ذلك، فإن العمليات على مثل هذه السلاسل تؤدي بالضرورة إلى إنشاء سلسلة جديدة. وهذا يعني تكاليف إضافية للذاكرة ووقت المعالج. إذا كان هناك الكثير من العمليات على سلسلة ما، فغالبًا ما يكون استخدام السلاسل الديناميكية التي يتم تنفيذها بواسطة الفصل أكثر كفاءة StringBuilder.
فئة StringBuilder في Java 8 مع مثال عملي - 1
خذ بعين الاعتبار الكود أدناه:
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
يعالج الكود أعلاه نفس المشكلة. عندما نضيف 100 سلسلة فرعية جديدة إلى سلسلة معينة. يستخدم المثال الأول الفئة لهذا الغرض String، وهي ليست فعالة جدًا نظرًا لأن كل إضافة لسلسلة فرعية تؤدي إلى إنشاء كائن جديد String. وهذا مضيعة إضافية للذاكرة والوقت. في المثال الثاني، تم حل هذه المشكلة باستخدام فئة StringBuilder. نقوم بإنشاء كائن من الفئة مسبقًا StringBuilder، ثم نستخدم الطريقة appendالتي نشكل بها السلسلة التي نحتاجها عن طريق تغيير محتويات الكائن الذي تم إنشاؤه StringBuilder، ولكن دون إعادة إنشاء الكائن نفسه.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION