CodeBlanks Logo Icon CodeBlanks

toString

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

Main.kt
// Book veri sınıfı tanımı
// title ve author özellikleri ile
// main'de örnekle
// toString ve doğrudan yazdır

Örnek çözüm

Main.kt
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

Soru
data class Book(val title: String, val author: String)
val b = Book("Kotlin", "JetBrains")
println(b.____())
Cevap
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.

Orta seviye bölümündeki tüm dersler