پکیج java.lang معرفی کلاسهای StringBuilder و StringBuffer
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
پکیج java.lang معرفی کلاسهای StringBuilder و StringBuffer
در جلسه گذشته با متدهای کاربردی کلاس String آَشنا شدیم. در این جلسه میخواهیم 2 کلاس بسیار مهم و کاربردی به نام StringBuffer و StringBuilder را معرفی کنیم.
زمانی که در برنامهنویسی نیاز داشته باشیم رشتهای تولید کنیم و یا مداوم آن را تغیر دهیم از StringBuilder یا StringBuffer استفاده میکنیم. در برنامهنویسی همزمان که با thread ها کار میکنیم برای جلوگیری از تداخل دادهها بهتر است از StringBuffer استفاده کنیم اما StringBuilder سرعت بالاتری دارد و در حالت عادی بهتر است از StringBuilder استفاده شود. در این جلسه کلاس StringBuilder را بررسی میکنیم و توابع کاربردی این کلاس را معرفی و بررسی میکنیم.
نحوه تعریف StringBuilder:
اگر رشتهای درون تابع سازنده StringBuilder وارد کنید به عنوان داده اولیه مقداردهی میشود.
StringBuilder sb1=new StringBuilder();
StringBuilder sb1=new StringBuilder("my name is mehdi.");
توابع کاربردی کلاس StringBuilder:
متد append
این متد برای اضافه کردن یک رشته به انتهای رشته موجود استفاده میشود.
StringBuilder sb1=new StringBuilder();
sb1.append("my name is mehdi.");
sb1.append(100);
sb1.append("ali");
sb1.append(23.45);
sb1.append(true);
System.out.println(sb1);
خروجی
my name is mehdi.100ali23.45true
متد delete
این متد دو عدد به عنوان شماره خانه شروع و پایان دریافت می کند و فاصله آن ها را از درون StringBuilder پاک میکند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
sb1.delete(0,3);
System.out.println(sb1);
خروجی
name is mehdi.
متد insert
این متد یک عدد به عنوان شماره خانه و یک داده دریافت میکند. و آن را درون StringBuilder جایگذاری میکند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
sb1.insert(1,"$$$$$$$$$$$$$$");
System.out.println(sb1);
خروجی
m$$$$$$$$$$$$$$y name is mehdi.
متد deleteCharAt
این متد یک عدد به عنوان شماره خانه دریافت میکند و درون StringBuilder آن شماره خانه را پاک میکند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
sb1.deleteCharAt(2);
System.out.println(sb1);
خروجی
myname is mehdi.
متد indexOf
این متد یک رشته دریافت میکند و درون StringBuilder آن رشته را جستجو میکند و شماره خانه آن را برمیگرداند.
StringBuilder sb1=new StringBuilder("my sajhgda dajsvd name is mehdi.");
int index=sb1.indexOf("mehdi");
System.out.println(sb1);
خروجی
26
متد setCharAt
این متد یک عدد و یک کاراکتر دریافت میکند و درون StringBuilder شماره خانهای که آن کاراکتر وجود داشته باشد را با کاراکتر دریافت شده ویرایش میکند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
sb1.setCharAt(3,'N');
System.out.println(sb1);
خروجی
my Name is mehdi.
متد capacity
این متد میزان فضای آشغال شده StringBuilder از حافظه را برحسب بایت برمیگرداند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
System.out.println(sb1.capacity());
خروجی
33
متد length
این متد طول StringBuilder را برمیگرداند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
System.out.println(sb1.length());
خروجی
17
متد reverse
این متد StringBuilder را برعکس میکند.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
sb1.reverse();
System.out.println(sb1);
خروجی
.idhem si eman ym
متد toString
این متد برای تبدیل StringBuilder به یک رشته استفاده میشود.
StringBuilder sb1=new StringBuilder("my name is mehdi.");
String temp=sb1.toString();
تمامی متدهایی که در بالا گفته شد برای کلاس StringBuffer هم وجود دارد و میتوان از آنها در کلاس StringBuffer نیز استفاده کرد.
بسیار خرسندیم که با یک جلسه دیگر از این آموزش جاوا پیشرفته در خدمت شما بودیم و توانستیم به پیشرفت شما دوستان عزیز کمک کنیم. شما عزیزان میتوانید برای دسترسی بیشتر به جلسات این دوره از آموزش، آن را دانلود کنید.
شما درسمنی های عزیز هر گونه سوال یا ابهامی از این جلسه داشتید میتوانید به انجمن برنامه نویسان جاوا مراجعه کنید و سوالات خود را بپرسید.
ممنون از همراهی شما
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.