Sobes.tech
Junior — Middle

In quali casi è possibile applicare il modificatore reified all'interno delle funzioni inline in Kotlin?

sobes.tech AI

Risposta dell'AI

In Kotlin, il modificatore reified si applica solo all'interno di funzioni inline e consente di accedere al tipo del parametro durante l'esecuzione, cosa generalmente impossibile a causa della cancellazione dei tipi (type erasure).

L'uso di reified è giustificato quando si deve:

  • Verificare il tipo con is o !is.
  • Creare un'istanza del tipo tramite riflessione.
  • Ottenere la classe del tipo T::class o T::class.java.

Esempio:

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

Qui, reified permette di usare T::class.java all'interno della funzione, cosa impossibile senza inline e reified.