JavaRush /وبلاگ جاوا /Random-FA /کلاس StringBuilder در جاوا 8 با یک مثال کاربردی
Нина Можарская
مرحله
Киев

کلاس StringBuilder در جاوا 8 با یک مثال کاربردی

در گروه منتشر شد
کلاس Stringرشته های تغییرناپذیر ایجاد می کند. این بدان معناست که اگر هر عملیاتی را روی یک رشته یا عملیاتی را روی یک رشته اعمال کنید، نتیجه یک رشته جدید خواهد بود. اگر این رشته جدید به هیچ متغیری اختصاص داده نشود، نتیجه عملیات از بین خواهد رفت. بر این اساس، عملیات روی چنین رشته هایی لزوماً منجر به ایجاد یک رشته جدید می شود. و این به معنای هزینه اضافی حافظه و زمان پردازنده است. اگر تعداد زیادی عملیات روی یک رشته وجود داشته باشد، اغلب استفاده از رشته‌های پویا که توسط کلاس پیاده‌سازی می‌شوند کارآمدتر است StringBuilder.
کلاس StringBuilder در جاوا 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