Tout, rien et unité dans Kotlin
Dans ce court article, nous examinerons certains des types spéciaux de Kotlin. Ces types sont Any, Nothinget Unit. Vous en avez peut-être utilisé certains ou tous, mais vous ne connaissez peut-être pas la différence exacte entre eux. Si tel est le cas, alors lisez la suite!
N'importe quel
La documentation officielle des Anyétats:
La racine de la hiérarchie des classes Kotlin. Chaque classe Kotlin a Any comme superclasse.
Cela signifie Anyqu'il s'agit de la classe parente de toute classe que vous définissez dans Kotlin. Cela signifie que si vous suivez la chaîne des parents d'une classe, vous finirez par vous retrouver à Any. C'est l'équivalent exact de ObjectJava.
Voici la définition de Any. Sur la base du paragraphe ci-dessus et de la définition suivante, chaque classe de Kotlin a des méthodes equals, hashCodeet toString.
public open class Any {
public open operator fun equals(other: Any?): Boolean
public open fun hashCode(): Int
public open fun toString(): String
}
Basé sur la documentation officielle deNothing
Vous pouvez utiliser Nothing pour représenter "une valeur qui n'existe jamais": par exemple, si une fonction a le type de retour Nothing, cela signifie qu'elle ne revient jamais (lève toujours une exception).
En termes simples, nous utilisons généralement Nothingcomme type de retour d'une fonction pour indiquer que la fonction lève toujours une exception.
Voici la définition de Nothing.
public class Nothing private constructor()
Un exemple d'utilisation de Nothingse trouve dans la errorfonction qui fait partie de la bibliothèque standard Kotlin :
public inline fun error(message: Any): Nothing = throw IllegalStateException(message.toString())
Unité
La définition de Unitest la suivante :
public object Unit {
override fun toString() = "kotlin.Unit"
}
Dans Kotlin, le type de retour par défaut d'une fonction signifie Unitque si vous ne spécifiez pas explicitement le type de retour d'une fonction, le compilateur Kotlin l'utilise Unitcomme type de retour.
C'est tout!
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































