Для чего нужен toString у Any

«Для чего нужен toString у Any» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Метод toString() у Any (базового класса для всех объектов в Kotlin) предназначен для получения строкового представления объекта. По умолчанию он возвращает имя класса и хэш-код объекта, например: com.example.MyClass@1a2b3c.

Переопределяя toString(), можно сделать вывод более информативным:

data class Person(val name: String, val age: Int) {
    override fun toString() = "Person(name='$name', age=$age)"
}

val person = Person("Alex", 30)
println(person) // Вывод: Person(name='Alex', age=30)

Используется для логирования, отладки и удобного отображения объектов в UI или логах. В data class он автоматически генерируется, включая все свойства.