在Java中,默认导入java.lang
包
在kotlin中,可以使用许多函数和类而无需导入,例如println
和kotlins Array
,Int
等类型。
默认情况下导入了哪些内容以及它在何处定义?
答案 0 :(得分:10)
Kotlin stdlib有kotlin
个root包及其子包(see the full list with the content)。
似乎没有记录默认情况下导入哪些内容,但是peek into Kotlin Github sources建议为JVM目标平台导入这些包:
java.lang.*
kotlin.*
kotlin.annotation.*
kotlin.jvm.*
kotlin.collections.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*
kotlin.io.*
kotlin.coroutines.*
(将在Kotlin 1.1中添加,1.0.4中不存在) 我已手动测试它们,上面的列表适用于Kotlin 1.0.4。默认情况下,这些stdlib软件包不:
kotlin.comparisons.*
kotlin.concurrent.*
kotlin.properties.*
kotlin.reflect.*
kotlin.reflect.jvm.*
kotlin.system.*
正如@Magnus所述,JS平台are different的默认导入。
答案 1 :(得分:4)
Kotlin默认导入列表的官方文档(可能会随着该语言的新版本而更改)如下: https://kotlinlang.org/docs/reference/packages.html#default-imports
截至2018-02-11,它包括以下内容:
- 科特林。*
- kotlin.annotation。*
- kotlin.collections。*
- kotlin.comparisons。*(自1.1起)
- kotlin.io。*
- kotlin.ranges。*
- kotlin.sequences。*
- kotlin.text。*
根据目标平台导入其他包:
JVM:
- 的java.lang。*
- kotlin.jvm。*
JS:
- kotlin.js。*