Что такое класс Unit

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

Ответ

Unit в Kotlin — это аналог void в Java, но с ключевым отличием: это синглтон-объект, представляющий отсутствие значимого значения.

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

  • Используется, когда функция ничего не возвращает (но технически возвращает Unit).
  • Явное указание Unit необязательно — компилятор подставляет его автоматически.
  • Полезен в generics, например, Function<Int, Unit>.

Пример:

fun logMessage(message: String): Unit {  
    println(message)  
    // return Unit — неявно добавлено компилятором  
}  

Отличие от void:

  • Unit — это реальный тип (object Unit), а void — просто ключевое слово.
  • Позволяет единообразно работать с функциями в generics и функциональных цепочках.