Junior — Middle
Môžete vysvetliť princíp fungovania kľúčového mechanizmu reified v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu sa mechanizmom reified sa používa spolu s inline funkciami na zachovanie informácie o type počas behu, čo je zvyčajne nemožné kvôli vymazávaniu typov (type erasure) v JVM.
Keď je funkcia deklarovaná ako inline a parameter typu je označený ako reified, tento typ je možné použiť priamo v tele funkcie, napríklad na kontrolu typu alebo na vytváranie inštancií.
Príklad:
inline fun <reified T> isInstance(value: Any): Boolean {
return value is T
}
fun main() {
println(isInstance<String>("test")) // true
println(isInstance<Int>("test")) // false
}
Bez reified takúto kontrolu nie je možné vykonať, pretože typ T sa pri kompilácii vymaže.