Sobes.tech
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 is alebo !is.
  • Vytvoriť inštanciu typu pomocou reflexie.
  • Získať triedu typu T::class alebo T::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é.