Sobes.tech
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 дар вақти компилятсия нобуд мешавад.