Sobes.tech
Junior — Middle

Kan de trefwoord refied zonder inline in de code worden toegepast?

sobes.tech AI

Antwoord van AI

In Kotlin wordt het sleutelwoord reified gebruikt om informatie over het type op runtime te verkrijgen in generieke functies, maar het vereist dat de functie wordt gedeclareerd met de modifier inline.

Dit komt doordat generieke types in Kotlin meestal worden verwijderd tijdens de compilatie (type erasure), en zonder inline is het niet mogelijk om een specifiek type op runtime te verkrijgen.

Daarom kan reified niet zonder inline worden gebruikt — de compiler geeft een fout.

Voorbeeld van correct gebruik:

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

Als inline wordt verwijderd, kan reified niet worden gebruikt.