CodeBlanks Logo Icon CodeBlanks

StringBuilder

StringBuilder ile değiştirilebilir metin öğrenirsin.

StringBuilder: değiştirilebilir metin

Java'da String değiştirilemez (immutable); her ekleme yeni bir nesne yaratır. Çok sayıda birleştirme yapacaksan StringBuilder daha verimlidir.

StringBuilder sb = new StringBuilder();
sb.append("Merhaba");
sb.append(" ");
sb.append("dünya");
String result = sb.toString();
// "Merhaba dünya"

StringBuilder içindeki metni yerinde değiştirir; her eklemede yeni nesne oluşturmaz. İşin bitince toString ile nihai String'i alırsın. Döngü içinde metin birleştirirken her zaman bunu tercih et.

StringBuilder ve String farkı

String değiştirilemez; + ile birleştirme her seferinde yeni nesne üretir. StringBuilder ise değiştirilebilir; append aynı nesneyi büyütür.

String s = "a";
s = s + "b";  // yeni String nesnesi
StringBuilder sb = new StringBuilder("a");
sb.append("b");  // aynı nesne

Yüzlerce veya binlerce ekleme yapılırsa + çok yavaşlar; çünkü her seferinde kopyalama yapılır. StringBuilder bu yükten kurtulur. Tek satırlık birleştirme için + rahatça kullanılır.

Uygulama Mesajı birleştir

Bir StringBuilder oluştur; içine "Merhaba", ", " ve "dünya" değerlerini append ile ekle. Sonucu toString ile alıp yazdır.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    // StringBuilder oluştur
    // Üç parçayı append ile ekle
    // toString ile sonucu yazdır
  }
}

Örnek çözüm

Main.java
StringBuilder sb = new StringBuilder();
sb.append("Merhaba");
sb.append(", ");
sb.append("dünya");
System.out.println(sb.toString());

Beklenen çıktı

Merhaba, dünya

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Senaryo ve araç eşleştir

Kavram Anlamı
Tek seferde birleştirme String +
Döngü içinde birleştirme StringBuilder
Nihai metni alma toString
Başlangıç içeriği new StringBuilder("...")

2 Boşluğu doldur: StringBuilder tanımla

Soru
StringBuilder sb = new ____();
Cevap
StringBuilder sb = new StringBuilder();

Açıklama: new StringBuilder() boş bir builder oluşturur.

3 Aşağıdakilerden hangisi doğrudur?

  • StringBuilder değiştirilebilir Doğru cevap
  • String değiştirilebilir
  • StringBuilder immutable'dır
  • String yerinde büyür

Açıklama: StringBuilder mutable; String immutable.

Başlangıç bölümündeki tüm dersler