Kotlin将字符串作为字符串

时间:2015-09-20 21:58:53

标签: java kotlin

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

4 个答案:

答案 0 :(得分:45)

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

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

你可以摆弄这个here

答案 1 :(得分:2)

Type Checks and Casts: 'is' and 'as'

if (obj is String) {
  print(obj.length)
}

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

答案 2 :(得分:1)

您可以使用 '::class' 关键字来指定实例的类型。使用“.toSting()”方法将此类型转换为字符串,您会得到一个“class XXXXXX”字符串,您可以使用replace(...) 将其缩减为“XXXXX”

var variable = MyClass()

var nameOfClass = variable::class.simpleName

nameofClass >> "MyClass"

答案 3 :(得分:0)

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

val lis = listOf(1,2,3)

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

println(lis.javaClass.kotlin.simpleName)  // ArrayList

或更优雅:

println(lis::class.simpleName)  // ArrayList