Функция toString
Функция toString возвращает строковое представление объекта.
Все классы в Kotlin наследуют эту функцию от базового класса Any.
По умолчанию функция возвращает строку, содержащую имя класса и хеш-код объекта,
но её можно переопределить в пользовательских классах для возврата
осмысленного строкового представления.
Синтаксис
open fun toString(): String
Пример
Использование toString по умолчанию для простого объекта:
val obj = Any()
val res = obj.toString()
println(res)
Результат выполнения кода:
java.lang.Object@1b6d3586
Пример
Использование toString для базовых типов данных:
val num = 42
val dbl = 3.14
val flag = true
println(num.toString())
println(dbl.toString())
println(flag.toString())
Результат выполнения кода:
String "42"
String "3.14"
String "true"
Пример
Переопределение toString в пользовательском классе:
class Person(val name: String, val age: Int) {
override fun toString(): String {
return "Person(name=$name, age=$age)"
}
}
val person = Person("John", 30)
println(person.toString())
Результат выполнения кода:
String "Person(name=John, age=30)"
Пример
Неявный вызов toString при интерполяции строк:
val number = 123
val text = "The number is: $number"
println(text)
Результат выполнения кода:
String "The number is: 123"
Пример
Использование toString для коллекций:
val list = listOf(1, 2, 3, 4, 5)
val map = mapOf("a" to 1, "b" to 2)
println(list.toString())
println(map.toString())
Результат выполнения кода:
String "[1, 2, 3, 4, 5]"
String "{a=1, b=2}"