0
如何在Kotlin中找到变量类型? 在Java中有instanceof
,但科特林不存在:获取Kotlin中变量的类型
val properties = System.getProperties() // Which type?
如何在Kotlin中找到变量类型? 在Java中有instanceof
,但科特林不存在:获取Kotlin中变量的类型
val properties = System.getProperties() // Which type?
您可以使用反射来做到这一点:
val widget = ...
println("${widget::class.qualifiedName}") // with package name or...
println("${widget::class.simpleName}") // ... only class name
请注意:
在Java平台上,使用 反射功能所需的运行时组件作为单独的JAR文件 (kotlin-reflect.jar)分发。这样做是为了减少不使用反射特性的应用程序所需的运行时库的大小。 如果确实使用了反射,请确保将.jar文件添加到项目的类路径 。
来源:https://kotlinlang.org/docs/reference/reflection.html#bound-class-references-since-11
要测试特定的类型,你可以使用is
操作。
if(widget is Widget) {
// ...
}