Что такое Any в Kotlin

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

Ответ

Any — это корневой класс в иерархии типов Kotlin. Все классы неявно наследуются от Any, даже если не указано явно.

Особенности:

  • Аналог Object в Java, но без методов wait(), notify().
  • Имеет три метода: equals(), hashCode(), toString().
  • Может хранить любой тип, но без гарантий безопасности типов (как Object в Java).

Пример:

val items: List<Any> = listOf(1, "text", true)  
items.forEach { println(it) }  

Ограничения:

  • Для работы с конкретными типами требуется приведение (as? или is).
  • Не является супертипом для примитивов (в Kotlin они — объекты-обёртки).