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
iso!is. - Creare un'istanza del tipo tramite riflessione.
- Ottenere la classe del tipo
T::classoT::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.