Sobes.tech
Junior — Middle

Millistel juhtudel saab Kotlinis kasutada reified modifikatorit inline-funktsioonide sees?

sobes.tech AI

Vastus AI-lt

Kotlinis modifikators reified tiek lietots tikai inline funkcijās un ļauj piekļūt parametra tipam darbības laikā, kas parasti nav iespējams, jo notiek tipu iznīcināšana (type erasure).

reified lietošana ir pamatota, kad:

  • Jāveic tipa pārbaude ar is vai !is.
  • Jāizveido tipa instances, izmantojot refleksiju.
  • Jāiegūst tipa klase T::class vai T::class.java.

Piemērs:

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

Šeit reified ļauj izmantot T::class.java funkcijas iekšienē, kas bez inline un reified nav iespējams.