我想获得对变量的运行时KClass的引用.我浏览了有关类和反射的文档,但文档似乎只解释了如何获取对KClass的静态引用(例如String::class
for 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 次 |
最近记录: |