Sobes.tech
Junior — Middle

Чӣ гуна метавон намуди параметри генерикиро дар вақти иҷро кардан бе истифодаи reified муайян кард?

sobes.tech AI

Ҷавоб аз AI

Дар Kotlin, бе истифодаи reified намудҳо, намешавад ба таври мустақим намудҳои параметри генерикро дар вақти иҷро муайян кард, зеро ки типҳо аз байн рафтаанд (type erasure). Аммо, метавон синфи намудро ба таври равшан ҳамчун параметр ба функсия ё конструктор гузошт:

fun <T> doSomething(clazz: Class<T>) {
    // Бо истифода аз clazz барои муайян кардани намуд T дар вақти иҷро
    println("Намуди параметр: ${clazz.simpleName}")
}

doSomething(String::class.java) // Натиҷа: Намуди параметр: String

Бинобар ин, намуд равшан дода мешавад ва бо он дар вақти иҷро кор кардан мумкин аст, бе reified. Ин намунаи маъмул барои гузаштан аз маҳдудиятҳои аз байн рафтани намудҳо мебошад.