Junior — Middle
In welke gevallen kan de reified-modificator binnen inline-functies in Kotlin worden toegepast?
sobes.tech AI
Antwoord van AI
In Kotlin wordt de modifier reified alleen binnen inline functies toegepast en maakt het toegang mogelijk tot het type van de parameter tijdens runtime, wat normaal gesproken niet mogelijk is vanwege type erasure.
Het gebruik van reified is gerechtvaardigd wanneer:
- Het type wordt gecontroleerd met
isof!is. - Een instantie van het type wordt gemaakt via reflectie.
- De klasse van het type
T::classofT::class.javawordt verkregen.
Voorbeeld:
inline fun <reified T> Gson.fromJson(json: String): T {
return this.fromJson(json, T::class.java)
}
Hier maakt reified het mogelijk om T::class.java binnen de functie te gebruiken, wat zonder inline en reified niet mogelijk is.