Kotlin获取类型为字符串

我无法找到如何使用Kotlin语言获得像String一样的变量(或常量)类型,如typeof(variable) 。 如何做到这一点?

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

 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 

你可以在这里摆弄这个。

http://kotlinlang.org/docs/reference/typecasts.html

 if (obj is String) { print(obj.length) } if (obj !is String) { // same as !(obj is String) print("Not a String") } 

您正在寻找instanceof运算符

instanceof关键字可用于测试对象是否为指定类型

 String s = "Hello"; if (s instanceof java.lang.String) { System.out.println("is a String"); //this prints out } 

要获取有关对象类的信息,请调用每个对象所具有的getClass方法(它驻留在超类Object )。 这返回一个class对象(有点混乱,我知道)。 从那里,你可以调用getNamegetCanonicalName (了解这里的差异)。 所以,你的代码看起来像这样:

 System.out.println(this.getClass().getName());