Junior — Middle
Можете ли да обясните принципа на работа на ключовия механизъм reified в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin механизмът reified се използва заедно с inline функции, за да запази информацията за типа по време на изпълнение, което обикновено е невъзможно поради изтриването на типове (type erasure) в JVM.
Когато функция е обявена като inline и параметърът на типа е маркиран като reified, този тип може да се използва директно в тялото на функцията, например за проверка на типа или създаване на екземпляри.
Пример:
inline fun <reified T> isInstance(value: Any): Boolean {
return value is T
}
fun main() {
println(isInstance<String>("test")) // true
println(isInstance<Int>("test")) // false
}
Без reified такава проверка не е възможна, тъй като типът T се изтрива по време на компилация.