Sobes.tech
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.