Kotlin的kotlin.String
类型为currently defined as follows (1.1.2):
public class String : Comparable<String>, CharSequence {
companion object {}
// Operator and override function definitions.
}
kotlin.String
上定义的某些扩展将接收实例强制转换为java.lang.String
类型以转发方法调用。 For example (1.1.2):
@kotlin.internal.InlineOnly
public inline fun String.toLowerCase(): String = (this as java.lang.String).toLowerCase()
但是,kotlin.String
类型定义中没有任何内容可以让我清楚地知道此演员阵容可以保证成功。
答案 0 :(得分:3)
在Kotlin / JVM中kotlin.String
是mapped types之一 - 在运行时用一些现有JDK类表示的类型。
因此,kotlin.String
和java.lang.String
之间的强制转换在运行时成功,即使这些是Kotlin类型系统中的两个不相关的类型。