Any, Nothing e Unit em Kotlin
Neste breve post, veremos alguns dos tipos especiais em Kotlin. Esses tipos são Any, Nothinge Unit. Você pode ter usado alguns ou todos eles, mas pode não saber a diferença exata entre eles. Se for esse o caso, continue a ler!
Qualquer
A documentação oficial dos Anyestados:
A raiz da hierarquia de classes Kotlin. Toda classe Kotlin tem Any como superclasse.
Isso significa Anyque é a classe pai de qualquer classe que você definir em Kotlin. Isso significa que se você seguir a cadeia de pais de uma classe, você finalmente terminará em Any. É o equivalente exato Objectem Java.
Aqui está a definição de Any. Com base no parágrafo acima e na definição a seguir, toda classe em Kotlin tem métodos equals, hashCodee toString.
public open class Any {
public open operator fun equals(other: Any?): Boolean
public open fun hashCode(): Int
public open fun toString(): String
}
Com base na documentação oficial doNothing
Você pode usar Nothing para representar “um valor que nunca existe”: por exemplo, se uma função tem o tipo de retorno Nothing, significa que ela nunca retorna (sempre lança uma exceção).
Simplificando, geralmente usamos Nothingcomo o tipo de retorno de uma função para indicar que a função sempre lança uma exceção.
Aqui está a definição de Nothing.
public class Nothing private constructor()
Um exemplo de uso de Nothingestá na errorfunção que faz parte da biblioteca padrão Kotlin:
public inline fun error(message: Any): Nothing = throw IllegalStateException(message.toString())
Unidade
A definição de Unité a seguinte:
public object Unit {
override fun toString() = "kotlin.Unit"
}
Em Kotlin, o tipo de retorno padrão de uma função significa Unitque, se você não especificar explicitamente o tipo de retorno de uma função, o compilador Kotlin usará Unitcomo tipo de retorno.
Isso é tudo!





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)