mic*_*ech 1 java android kotlin
在 JetBrains(在 Coursera)的“Java 开发人员的 Kotlin”课程中,有人告诉我们,Kotlin 代码被直接编译为字节码。然后在 JVM 上执行该字节码。
但是当我这样做时:
var list = listOf<String>("A", "B", "C")
println(list::class) // => Prints "class java.util.Arrays$ArrayList"
Run Code Online (Sandbox Code Playgroud)
显然,下面使用了普通的 Java ArrayList。所以我很困惑...
Kotlin 只是一些“更现代”的语法东西,它在下面使用 Java?
实际上是一些语法糖,它放在顶部,以便人们可以以更好的方式编写代码。但在它下面仍然是旧的 Java 东西。
Kotlin 只是一些“更现代”的语法东西,它在下面使用 Java?
不。您 Kotlin 源代码 >>is<< 编译为字节码。
但是您的代码正在使用listofKotlin 库函数,并且该函数的实现返回一个作为 Java 类实例的值。
为什么?
listof只是在调用java.util.Arrays.asList(...)。)| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |