我想获得对变量的运行时KClass的引用.我浏览了有关类和反射的文档,但文档似乎只解释了如何获取对KClass的静态引用(例如String::classfor String)
我需要一个变量的运行时KClass.这似乎没有编译:
fun test(x: Any) {
val klazz = x::class
}
Run Code Online (Sandbox Code Playgroud)
怎样才能获得KClass的x在上面的例子?
hot*_*key 11
如参考文献中所述,您可以使用.javaClass.kotlin获取KClass对象的标记.例:
fun printKClass(x: Any) {
val c = x.javaClass.kotlin
println(c)
}
Run Code Online (Sandbox Code Playgroud)
对于任何进一步的操作KClass,您还应该将kotlin-reflect库添加为依赖项,因为反射功能已移出kotlin-stdlib.
| 归档时间: |
|
| 查看次数: |
1058 次 |
| 最近记录: |