StringBuilder

StringBuilder برای الحاق کارآمد رشته‌ها: append، reverse، toString.

مشکل String در الحاق

String تغییرناپذیر است — هر + یک شیء جدید می‌سازد:

// در حلقه — بسیار ناکارآمد!
String result = "";
for (int i = 0; i < 1000; i++) {
    result += i;   ← هر بار رشته جدید! ۱۰۰۰ شیء ساخته می‌شود
}

StringBuilder — راه‌حل

رشته تغییرپذیر — الحاق بدون ساخت شیء جدید:

StringBuilder sb = new StringBuilder();

sb.append("سلام");
sb.append(" ");
sb.append("دنیا");

String result = sb.toString();   ← "سلام دنیا"

متدهای پرکاربرد

متدکاربردمثال
append(x)افزودن به انتهاsb.append("متن")
reverse()معکوس کردنsb.reverse()
length()طولsb.length()
charAt(i)کاراکترsb.charAt(0)
insert(i, x)درج در موقعیتsb.insert(0, "→")
deleteCharAt(i)حذف کاراکترsb.deleteCharAt(0)
toString()تبدیل به Stringsb.toString()

مثال: ساخت رشته در حلقه

StringBuilder sb = new StringBuilder();

for (int i = 1; i <= 5; i++) {
    sb.append("خط ").append(i).append("\n");
}

System.out.println(sb.toString());

مثال: معکوس کردن رشته

String original = "جاوا";
String reversed = new StringBuilder(original).reverse().toString();

System.out.println(reversed);   ← اوجا

مثال: بررسی پالیندروم

static boolean isPalindrome(String s) {
    String reversed = new StringBuilder(s).reverse().toString();
    return s.equals(reversed);
}

isPalindrome("madam")   ← true
isPalindrome("java")    ← false

زنجیره‌کردن append

// append خودش را برمی‌گرداند — زنجیر کنید!
String result = new StringBuilder()
    .append("نام: ")
    .append("علی")
    .append("، سن: ")
    .append(25)
    .toString();
قاعده: الحاق در حلقه یا متن زیاد → StringBuilder؛ الحاق ساده چندتایی → String با + کافی است.

این مبحث بخشی از دوره آموزش کامل جاوا است.

ابزارهای مرتبط