Kotlin 中的 reified 关键字是如何工作的?

androidmobile developmentapps/applicationskotlin 更新于 2026/2/10 6:52:17

"reified" 是一种特殊类型的关键字,可帮助 Kotlin 开发者在运行时访问与类相关的信息。"reified" 只能与 inline 函数一起使用。使用 "reified" 关键字时,编译器会将函数的字节码复制到调用该函数的每个代码部分。这样,泛型类型 T 将被赋值给它作为参数获取的值的类型。

示例

在此示例中,我们将了解 <reified> 如何有助于重用我们的代码,并使用相同的函数执行类似的操作,而不管其传递的参数是什么。

在此示例中,我们创建了一个内联函数,并传递了一个泛型 <reified> 参数 T,并且在 Kotlin 的 ma​​in() 中,我们使用不同的参数多次调用 myExample()。

// 声明内联函数
inline fun <reified T> myExample(name: T) {
   println("
Name of your website -> "+name)    println("
Type of myClass: ${T::class.java}") } fun main() { // 使用字符串调用 func() myExample<String>("www.tutorialspoint.com") // 使用 Int 值调用 func() myExample<Int>(100) // 使用长整型值调用 func() myExample<Long>(1L) }

输出

它将生成以下输出 −

Name of your website -> www.tutorialspoint.com

Type of myClass: class java.lang.String

Name of your website -> 100

Type of myClass: class java.lang.Integer

Name of your website -> 1

Type of myClass: class java.lang.Long

相关文章