Kotlin将字符串作为字符串

Ale*_*sso 38 java kotlin

我无法找到如何让一个变量(或不变)的类型String,比如typeof(variable),与科特林语言.怎么做到这一点?

Lam*_*rak 53

您可以使用最适合您需求的方法之一:

val obj: Double = 5.0

System.out.println(obj.javaClass.name)                 // double
System.out.println(obj.javaClass.kotlin)               // class kotlin.Double
System.out.println(obj.javaClass.kotlin.qualifiedName) // kotlin.Double
Run Code Online (Sandbox Code Playgroud)

你可以在这里摆弄这个.


Pau*_*aum 8

有一种更简单的方法使用simpleName属性并避免Kotlin前缀。

val lis = listOf(1,2,3)
Run Code Online (Sandbox Code Playgroud)

lis来自类型ArrayList。所以可以使用

println(lis.javaClass.kotlin.simpleName)  // ArrayList
Run Code Online (Sandbox Code Playgroud)

或者,更优雅地:

println(lis::class.simpleName)  // ArrayList 
Run Code Online (Sandbox Code Playgroud)