繁体   English   中英

如何确定何时将Kotlin类型映射到Java类型?

[英]How can I identify when a Kotlin type will be mapped to a Java type?

上下文

Kotlin的kotlin.String类型目前定义如下(1.1.2)

public class String : Comparable<String>, CharSequence {
    companion object {}

    // Operator and override function definitions.
}

kotlin.String定义的一些扩展将接收实例kotlin.String转换为java.lang.String类型以转发方法调用。 例如(1.1.2)

@kotlin.internal.InlineOnly
public inline fun String.toLowerCase(): String = (this as java.lang.String).toLowerCase()

但是, kotlin.String类型定义中没有任何内容让我清楚这个演员kotlin.String可以保证成功。

问题

  • 有没有办法轻松确定任何给定的Kotlin类型是否以这种方式映射到相应的Java类型?
  • 这种转换实际发生在哪里? (如果可能,寻找相关源代码的链接。)

在Kotlin / JVM中, kotlin.String映射类型之一 - 在运行时用某些现有JDK类表示的类型。

因此, kotlin.Stringjava.lang.String之间的kotlin.String在运行时成功,即使这些是从Kotlin类型系统的两个不相关的类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM