Any, Nothing и Unit в Котлине
В этом коротком посте мы рассмотрим некоторые специальные типы в Kotlin. Это типы Any, Nothing, и Unit. Возможно, вы использовали некоторые или все из них, но не знаете точного различия между ними. Если это так, то читайте дальше!
Любой
Официальная документация Anyгласит:
Корень иерархии классов Kotlin. Каждый класс Kotlin имеет Any в качестве суперкласса.
Это означает Any, что это родительский класс любого класса, который вы определяете в Kotlin. Это означает, что если вы будете следовать цепочке родителей класса, вы, в конце концов, окажетесь в Any. Это точный эквивалент Objectв Java.
Вот определение Any. Основываясь на приведенном выше абзаце и следующем определении, каждый класс в Kotlin имеет методы equals, hashCodeи toString.
public open class Any {
public open operator fun equals(other: Any?): Boolean
public open fun hashCode(): Int
public open fun toString(): String
}
На основании официальной документацииNothing
Вы можете использовать Nothing для представления «значения, которого никогда не существует»: например, если функция имеет возвращаемый тип Nothing, это означает, что она никогда не возвращает значение (всегда выдает исключение).
Проще говоря, мы обычно используем Nothingтип возвращаемого значения функции, чтобы указать, что функция всегда выдает исключение.
Вот определение Nothing.
public class Nothing private constructor()
Пример использования Nothingнаходится в errorфункции, которая является частью стандартной библиотеки Kotlin:
public inline fun error(message: Any): Nothing = throw IllegalStateException(message.toString())
Единица
Определение Unitследующее:
public object Unit {
override fun toString() = "kotlin.Unit"
}
В Kotlin возвращаемый тип функции по умолчанию означает, Unitчто если вы не укажете тип возвращаемого значения функции явно, то компилятор Kotlin использует его Unitв качестве типа возвращаемого значения.
Вот и все!

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































