2017-07-18 92 views

回答

7

您可以使用反射来做到这一点:

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) { 
    // ... 
}