Sobes.tech
Junior — Middle

Pode explicar o princípio de funcionamento do mecanismo reified em Kotlin?

sobes.tech IA

Resposta da IA

Em Kotlin, o mecanismo reified é usado juntamente com funções inline para manter a informação do tipo em tempo de execução, o que normalmente não é possível devido à eliminação de tipos (type erasure) na JVM.

Quando uma função é declarada como inline e o parâmetro de tipo é marcado como reified, é possível usar esse tipo diretamente no corpo da função, por exemplo, para verificar o tipo ou criar instâncias.

Exemplo:

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

fun main() {
    println(isInstance<String>("test")) // true
    println(isInstance<Int>("test")) // false
}

Sem reified, essa verificação não pode ser feita, pois o tipo T é apagado durante a compilação.