Sobes.tech
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í is nebo !is.
  • Vytvořit instanci typu pomocí reflexe.
  • Získat třídu typu T::class nebo T::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é.