Junior — Middle
Como é que a reflexão é feita em Kotlin?
sobes.tech IA
Resposta da IA
Em Kotlin, o trabalho com reflexão é realizado através do pacote kotlin.reflect. A classe principal é KClass, que representa uma classe em tempo de execução. Através da reflexão, pode-se obter informações sobre propriedades, funções, construtores e anotações das classes.
Exemplo de como obter o nome da classe e a lista de suas propriedades:
import kotlin.reflect.full.memberProperties
class User(val name: String, val age: Int)
fun main() {
val kClass = User::class
println("Nome da classe: ${kClass.simpleName}")
for (prop in kClass.memberProperties) {
println("Propriedade: ${prop.name}")
}
}
Também é possível invocar funções e criar instâncias através de reflexão, mas para isso às vezes é necessário usar a API de Reflection do Java (java.lang.reflect).
A reflexão é útil para análise dinâmica e trabalho com objetos, por exemplo, na serialização, DI ou ao escrever frameworks.