کلاس StringBuffer در جاوا
یک کلاس مشابه String در رابطه با رشته ها کلاس StringBuffer میباشد. کلاس رشته همانطور که پیش تر بررسی کردیم، غیرقابل تغییر(Immutable)، دارای اندازه ثابت و... میباشد در حالی که StringBuffer قابل تغییر میباشد و از لحاظ افزودن دنباله ای کاراکتر ها نیز منعطف عمل میکند.
درباره کلاس های Immutable و Mutable از اینجا بخوانید.
درباره Immutable بودن رشته ها از اینجا بخوانید.
برخی از متد های پرکاربرد کلاس StringBuffer
append()
برای افزودن یک متن به آخر یک رشته استفاده میشود.
length()
طول رشته ی ایجاد شده از طریق کلاس StringBuffer را برمیگرداند
charAt()
کاراکتر موجود در ایندکس موردنظر را برمیگرداند.
delete()
دنباله ای از کاراکتر ها را از شی ایجاد شده (از این کلاس) حذف میکند.
deleteCharAt()
کاراکتر موجود در ایندکس موردنظر را حذف میکند.
insert()
متنی را در یک موقعیت مشخص شده (ایندکس) وارد میکند
reverse()
رشته مورد نظر در وارون میکند.
capacity()
یک ظرفیت برای StringBuffer در نظر میگیرد
trimToSize()
میزان حافظه مصرفی برای دنباله ای از رشته ها را به اندازه سایز رشته کاهش میدهد
———
در ادامه یک مثال از این کلاس در رابطه با بررسی متد های این کلاس بررسی خواهیم کرد.
(خروجی هر متد بصورت کامنت امده است)
(برای خوانایی بیشتر، کد رو بصورت تصویر توی کانال قرار میدم)
public class Main {
public static void main(String[] args) {
//Telegram: @pieceJava
StringBuffer sb = new StringBuffer("ITHOOLOO");
//prints length of String
System.out.println(sb.length());// prints 8
//appends .comi to String
sb.append(".comi");
System.out.println(sb); // prints ITHOOLOO.comi
//removes a character at index sb.length()-1
sb.deleteCharAt(sb.length() - 1); // removes i from IT...com(i)
System.out.println(sb);// prints ITHOOLOO.com
//removes sequence of characters from index 8 to sb.length()
sb.delete(8, sb.length());//removes ".com"
System.out.println(sb);// prints ITHOOLOO
//reverses String
sb.reverse();
System.out.println(sb);// prints OOLOOHTI
//inserts a String at index 0
sb.insert(0, "HELLO FROM ");
System.out.println(sb);//prints hello from OOLOOHTI
}
}
تلگرام : @Ayhan_dev