Sobes.tech
Junior — Middle

Můžete vysvětlit princip fungování klíčového mechanismu reified v Kotlinu?

sobes.tech AI

Odpověď od AI

V Kotlinu se mechanismus reified používá spolu s inline funkcemi k zachování informace o typu za běhu, což je obvykle nemožné kvůli vymazání typů (type erasure) v JVM.

Když je funkce deklarována jako inline a parametr typu je označen jako reified, lze tento typ přímo používat uvnitř těla funkce, například k ověření typu nebo k vytváření instancí.

Pří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 takové ověření není možné, protože typ T je při kompilaci vymazán.