Junior — Middle
Kunt u het principe van de reified-sleutelmechanisme in Kotlin uitleggen?
sobes.tech AI
Antwoord van AI
In Kotlin wordt het mechanisme reified gebruikt samen met inline-functies om informatie over het type tijdens de uitvoering te behouden, wat meestal niet mogelijk is vanwege type-erasie in de JVM.
Wanneer een functie als inline wordt gedeclareerd en de typeparameter als reified wordt gemarkeerd, kan dit type direct binnen de functie worden gebruikt, bijvoorbeeld om het type te controleren of instanties te maken.
Voorbeeld:
inline fun <reified T> isInstance(value: Any): Boolean {
return value is T
}
fun main() {
println(isInstance<String>("test")) // true
println(isInstance<Int>("test")) // false
}
Zonder reified is zo'n controle niet mogelijk, omdat het type T tijdens compilatie wordt verwijderd.