在Kotlin中默认导入哪些软件包/函数?
在Java中, java.lang
包是默认导入的。
在kotlin中有许多函数和类没有被导入,比如println
和kotlins Array
, Int
等类型。
还有什么是默认导入,它在哪里定义?
Kotlin stdlib有kotlin
root包及其子包(请参阅完整列表和内容) 。
似乎没有任何地方记录哪些是默认导入的,但是对Kotlin Github源代码的窥视表明这些包是为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平台的默认导入是不同的 。
- Corda WireTransaction类型不匹配 – TransactionSignature推断但DigitalSignature.WithKey预期
- 在Kotlin中,我如何在新窗口中打开链接
- 平台声明冲突与可比
- 尝试在Kotlin和Spring引导下使用JPA时出现BeanDefinitionParsingException
- 扔在Kotlin的操作员
- IncompatibleClassChangeError:类’java.lang.VirtualMachineError’没有实现接口’java.lang.CharSequence’
- 如何使用Kotlin从Firebase数据库检索数据?
- 调用不接受kotlin的null的java代码
- Kotlin覆盖子类型的乐趣