Sobes.tech
Junior — Middle

У којим случајевима се у Kotlin-у може применити модификатор reified унутар inline-функција?

sobes.tech АИ

Одговор од АИ

U Kotlinu, modifikator reified primenjuje se samo unutar inline funkcija i omogućava pristup tipu parametra tokom izvršenja, što je obično nemoguće zbog brisanja tipova (type erasure).

Upotreba reified je opravdana kada:

  • Treba proveriti tip pomoću is ili !is.
  • Kreirati instancu tipa putem refleksije.
  • Dobiti klasu tipa T::class ili T::class.java.

Primer:

inline fun <reified T> Gson.fromJson(json: String): T {
    return this.fromJson(json, T::class.java)
}

Ovde reified omogućava korišćenje T::class.java unutar funkcije, što bez inline i reified nije moguće.