Sobes.tech
Middle

Para que serve a classe Nothing?

sobes.tech IA

Resposta da IA

Nothing — é um tipo de dado que não possui valores. É útil quando é necessário indicar a ausência de um valor de retorno ou que a execução do código nunca atinge um determinado ponto.

Por exemplo:

  • Em expressões lambda que sempre lançam exceções: O compilador entende que o código após tal lambda é inatingível.

    fun fail(message: String): Nothing {
        throw IllegalStateException(message)
    }
    
    val x = fail("Algo deu errado") // x tem tipo Nothing
    println("Esta linha nunca será executada")
    
  • Como tipo de valor de retorno para funções que nunca terminam normalmente: Por exemplo, um ciclo infinito.

    fun loopForever(): Nothing {
        while (true) {
            // Loop infinito
        }
    }
    
  • Para uma tipagem mais precisa em funções genéricas: Indica que o tipo não pode ser instanciado.