Junior — Middle
V akých prípadoch je možné v Kotlin použiť modifikátor reified vo vnútri inline funkcií?
sobes.tech AI
Odpoveď od AI
V Kotlin-e sa modifikátor reified používa iba vnútri inline funkcií a umožňuje prístup k typu parametra počas behu, čo je zvyčajne nemožné kvôli vymazaniu typov (type erasure).
Použitie reified je odôvodnené, keď je potrebné:
- Skontrolovať typ pomocou
isalebo!is. - Vytvoriť inštanciu typu pomocou reflexie.
- Získať triedu typu
T::classaleboT::class.java.
Príklad:
inline fun <reified T> Gson.fromJson(json: String): T {
return this.fromJson(json, T::class.java)
}
Tu reified umožňuje používať T::class.java vo vnútri funkcie, čo bez inline a reified nie je možné.