Junior — Middle
Kas saaksite selgitada reified võtme mehhanismi tööpõhimõtet Kotlinis?
sobes.tech AI
Vastus AI-lt
Kotlinis kasutatakse mehhanismi reified koos inline-funktsioonidega, et säilitada teavet tüübi kohta jooksvalt, mis tavaliselt ei ole võimalik JVM-i tüübi kustutamise (type erasure) tõttu.
Kui funktsioon on deklareeritud kui inline ja tüübi parameeter on märgitud kui reified, saab seda tüüpi otse kasutada funktsiooni kehas, näiteks tüübi kontrollimiseks või eksemplaride loomiseks.
Näide:
inline fun <reified T> isInstance(value: Any): Boolean {
return value is T
}
fun main() {
println(isInstance<String>("test")) // true
println(isInstance<Int>("test")) // false
}
Ilma reified ei ole sellist kontrolli võimalik teha, kuna T tüüp kustutatakse kompileerimise ajal.