Sobes.tech
Junior — Middle

In welchen Fällen kann der reified-Modifikator innerhalb von inline-Funktionen in Kotlin angewendet werden?

sobes.tech KI

Antwort von AI

In Kotlin wird der Modifikator reified nur innerhalb von inline-Funktionen verwendet und ermöglicht den Zugriff auf den Typ des Parameters zur Laufzeit, was aufgrund des Typerasure (Type Erasure) normalerweise nicht möglich ist.

Der Einsatz von reified ist gerechtfertigt, wenn:

  • Der Typ mit is oder !is überprüft werden soll.
  • Eine Instanz des Typs mittels Reflection erstellt werden soll.
  • Die Klasse des Typs T::class oder T::class.java abgerufen werden soll.

Beispiel:

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

Hier erlaubt reified, T::class.java innerhalb der Funktion zu verwenden, was ohne inline und reified nicht möglich ist.