StringBuilder
- Java kursu
- Başlangıç
- Ders 88/116
- 4 dk
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ı nesneYü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
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
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
StringBuilder sb = new ____();
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.