toString
- Kotlin kursu
- Orta seviye
- Ders 16/116
- 5 dk
toString otomatik üretimini öğrenirsin.
toString otomatik üretim
Data sınıfları, toString metodunu otomatik üretir. Bu metot, sınıf adı ve özellik değerlerini okunaklı bir biçimde verir.
Örnek: data class Book(val title: String, val author: String). println(Book("Kotlin", "JetBrains")) çağrısı Book(title=Kotlin, author=JetBrains) çıktısını verir. Normal sınıflarda toString override edilmezse bellek adresi yazılır; data sınıflarında bu sorun yoktur. Hata ayıklama ve günlükleme için idealdir.
toString formatı
Data sınıflarının toString formatı SınıfAdı(özellik1=değer1, özellik2=değer2) şeklindedir. Özellik adları ve değerleri = ile bağlanır.
Örnek: data class Money(val amount: Double, val currency: String). Money(100.0, "TL").toString() ifadesi Money(amount=100.0, currency=TL) dizgesini döndürür. println otomatik olarak toString çağırdığı için println(m) ile println(m.toString()) aynı çıktıyı verir.
Uygulama Book veri sınıfı ile toString
Book adında bir veri sınıfı tanımla; primary constructor val title: String, val author: String alsın. main içinde Book("Kotlin", "JetBrains") örneği oluştur. Önce b.toString() çağrısının sonucunu, sonra b'yi doğrudan println ile yazdır.
Başlangıç kodu
// Book veri sınıfı tanımı
// title ve author özellikleri ile
// main'de örnekle
// toString ve doğrudan yazdırÖrnek çözüm
data class Book(val title: String, val author: String)
fun main() {
val b = Book("Kotlin", "JetBrains")
println(b.toString())
println(b)
}Beklenen çıktı
Book(title=Kotlin, author=JetBrains) Book(title=Kotlin, author=JetBrains)
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 toString çıktısını tamamla
data class Book(val title: String, val author: String)
val b = Book("Kotlin", "JetBrains")
println(b.____())
data class Book(val title: String, val author: String)
val b = Book("Kotlin", "JetBrains")
println(b.toString())
Açıklama: toString örneğin okunaklı dizgesini verir.
2 toString parçalarını eşle
| Kavram | Anlamı |
|---|---|
Book |
Sınıf adı |
title=Kotlin |
Özellik ve değer |
, |
Ayraç |
println(b) |
Otomatik toString |
3 <code>data class Book(val title: String, val author: String)</code> tanımlı. <code>println(Book("Kotlin", "JetBrains"))</code> ne yazdırır?
- Book(title=Kotlin, author=JetBrains) Doğru cevap
- Book@1a2b3c
- Kotlin - JetBrains
- Book
Açıklama: data class toString sınıf adı ve özellik-değer çiftlerini gösterir.