Sobes.tech
Junior — Middle

Milyen esetekben alkalmazható a reified módosító inline függvényeken belül Kotlinben?

sobes.tech MI

Válasz az MI-től

Kotlinban a reified módosító csak inline függvényeken belül alkalmazható, és lehetővé teszi a paraméter típusának elérését futási időben, ami általában nem lehetséges a típus eltávolítása (type erasure) miatt.

A reified használata indokolt, amikor:

  • Ellenőrizni kell a típust is vagy !is segítségével.
  • Példányt kell létrehozni a típus reflektálásával.
  • Meg kell szerezni a típus osztályát T::class vagy T::class.java.

Példa:

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

Itt a reified lehetővé teszi, hogy a T::class.java-t a függvényen belül használjuk, ami inline és reified nélkül nem lehetséges.