Junior — Middle
V jakých případech lze v Kotlinu použít modifikátor reified uvnitř inline funkcí?
sobes.tech AI
Odpověď od AI
V Kotlinu se modifikátor reified používá pouze uvnitř inline funkcí a umožňuje přístup k typu parametru za běhu, což je obvykle nemožné kvůli vymazání typů (type erasure).
Použití reified je odůvodněné, když je třeba:
- Ověřit typ pomocí
isnebo!is. - Vytvořit instanci typu pomocí reflexe.
- Získat třídu typu
T::classneboT::class.java.
Příklad:
inline fun <reified T> Gson.fromJson(json: String): T {
return this.fromJson(json, T::class.java)
}
Zde reified umožňuje používat T::class.java uvnitř funkce, což bez inline a reified není možné.