Назад к вопросам
Middle
98
questionbank

Что ты знаешь о ключевом слове reified?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

reified используется с inline функциями в Kotlin. Оно сохраняет информацию о типе во время выполнения, которую обычно теряется из-за стирания типов в JVM. Это позволяет обращаться к типу как к обычному классу, например, использовать T::class.java.

inline fun <reified T> printTypeName() {
    // Доступ к типу T во время выполнения
    println(T::class.java.name)
}

// Пример использования
printTypeName<String>() // Выведет java.lang.String

Без reified, в этой ситуации пришлось бы передавать Class<T> в функцию:

inline fun <T> printTypeName(clazz: Class<T>) {
    // Работа с переданным Class<T>
    println(clazz.name)
}

// Пример использования
printTypeName(String::class.java)