toString
- Java kursu
- Başlangıç
- Ders 92/116
- 4 dk
toString ile dize elde etmeyi öğrenirsin.
toString: nihai metni alma
İşin bittiğinde StringBuilder'ı bir String'e çevirmek için toString kullanılır. Bu metot, builder'ın içeriğini değiştirmez; yeni bir String döndürür.
StringBuilder sb = new StringBuilder();
sb.append("Tamam");
String result = sb.toString();
// "Tamam"Çoğu zaman println otomatik olarak toString çağırır; bu yüzden açıkça yazmasan da yazdırma çalışır. Ama bir değişkene atamak veya başka bir metoda geçirmek için toString gerekir.
Builder'ı yeniden kullanma
İşin bitince toString alıp builder'ı kullanmaya devam edebilirsin. Çünkü toString builder'ı temizlemez; sadece bir kopya String döndürür.
StringBuilder sb = new StringBuilder("A");
String a = sb.toString(); // "A"
sb.append("B");
String ab = sb.toString(); // "AB"Eğer builder'ı baştan başlatmak istersen sb.setLength(0) yazabilirsin. Bu, yeni bir nesne oluşturmaktan daha ucuzdur; özellikle döngü içinde sık sık sıfırlama yapılıyorsa.
Uygulama Adımı yazıya çevir
Bir StringBuilder oluştur; "Adım ", "5" ve " - tamamlandı" değerlerini append ile ekle. Sonucu toString ile bir String değişkenine ata ve println ile yazdır.
Başlangıç kodu
public class Main {
public static void main(String[] args) {
// StringBuilder oluştur
// Üç parçayı append ile ekle
// toString ile String değişkene ata ve yazdır
}
}Örnek çözüm
StringBuilder sb = new StringBuilder();
sb.append("Adım ");
sb.append("5");
sb.append(" - tamamlandı");
String result = sb.toString();
System.out.println(result);Beklenen çıktı
Adım 5 - tamamlandı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 StringBuilder nesnesini println ile yazdırırsan ne olur?
- Otomatik toString çağrılır, içerik yazılır Doğru cevap
- Hata fırlatır
- Adres yazılır
- Yalnızca ilk karakter
Açıklama: println otomatik toString çağırır.
2 Senaryo ve yaklaşım eşleştir
| Kavram | Anlamı |
|---|---|
Bir defada 2 metin birleştir |
String + |
Döngü içinde 100 ekleme |
StringBuilder |
Builder'ı String'e çevir |
toString |
Metni ters çevir |
reverse |
3 Boşluğu doldur: String'e çevir
StringBuilder sb = new StringBuilder("Tamam");
String result = sb.____();
StringBuilder sb = new StringBuilder("Tamam");
String result = sb.toString();
Açıklama: sb.toString() String döndürür.