Sobes.tech
Junior — Middle

Para que operação é obrigatório o uso de reified em Kotlin?

sobes.tech IA

Resposta da IA

Em Kotlin, a palavra-chave reified é obrigatória ao trabalhar com funções genéricas quando é necessário aceder ao tipo do parâmetro em tempo de execução. Normalmente, devido à eliminação de tipos (type erasure), a informação sobre os tipos genéricos não está disponível em tempo de execução, mas com funções inline e reified é possível preservar e usar essa informação.

Um exemplo típico é uma função que cria uma instância de uma classe ou realiza uma verificação de tipo:

inline fun <reified T> isInstance(value: Any): Boolean {
    return value is T
}

val result = isInstance<String>("test") // true

Sem reified, não é possível usar T no operador is nem obter T::class.

Portanto, reified é necessário para operações onde é preciso obter informações sobre o tipo do parâmetro genérico em tempo de execução, como verificações de tipo, criação de instâncias, obtenção de classes, etc.