mat*_*teo 20 instanceof kotlin
如何在Kotlin中找到变量类型?在Java中有instanceof
,但Kotlin不存在:
val properties = System.getProperties() // Which type?
Run Code Online (Sandbox Code Playgroud)
Wil*_*zel 35
您可以使用反射来做到这一点:
val number = 5
if(number is Int) {
println("number is of type Int")
}
Run Code Online (Sandbox Code Playgroud)
请注意:
在Java平台上,使用反射功能所需的运行时组件作为单独的JAR文件(kotlin-reflect.jar)分发.这样做是为了减少不使用反射功能的应用程序所需的运行时库大小.如果使用反射,请确保将.jar文件添加到项目的类路径中.
资料来源:https://kotlinlang.org/docs/reference/reflection.html#bound-class-references-since-11
要测试特定类型,您可以使用is
运算符.
println("${number::class.simpleName}") // "Int"
println("${number::class.qualifiedName}") // "kotlin.Int"
Run Code Online (Sandbox Code Playgroud)
小智 33
你可以这样使用:
val value="value"
println(value::class.java.typeName)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14472 次 |
最近记录: |