Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpDcTS 63 of 123 menu
◀ ▶

Автоматический 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().

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить