Сколько инстансов у Unit в Kotlin

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

Ответ

Unit в Kotlin — это аналог void в Java, но представлен как объект. У него ровно один экземпляр — Unit.INSTANCE.

val unit1 = Unit
val unit2 = Unit
println(unit1 === unit2) // true (один и тот же объект)

Все функции, возвращающие Unit, фактически возвращают этот единственный экземпляр. Это синглтон, оптимизированный под капотом.