Автоматический toString у data class в Kotlin
У обычного класса строковое представление объекта
задают переопределением toString. У data class
компилятор добавляет этот метод сам: при выводе
в консоль видны имя типа и значения всех свойств
из заголовка:
data class User(val name: String, val age: Int)
fun main() {
val user = User("Ann", 25)
println(user)
}
Тот же текст получится при явном вызове
toString - это удобно при отладке
и при логировании промежуточных значений:
data class PairLabel(val left: String, val right: String)
fun main() {
val row = PairLabel("a", "b")
println(row.toString())
}
Формат фиксированный: перечислены только поля из первичного конструктора, в том порядке, в каком они объявлены. Если нужен другой вид строки, метод можно переопределить вручную, но для типовых записей хватает автоматического варианта:
data class Order(val id: Int, val total: Double)
fun main() {
val order = Order(7, 19.5)
println("debug: $order")
}
Сделайте data class Color с полями
red, green, blue.
Создайте объект Color(255, 128, 0)
и выведите его на экран одной командой
println.
Ниже даны объявление data class Version
и объект v:
data class Version(val major: Int, val minor: Int)
val v = Version(2, 1)
Выведите на экран результат вызова
v.toString().