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
isvai!is. - Jāizveido tipa instances, izmantojot refleksiju.
- Jāiegūst tipa klase
T::classvaiT::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.