Kotlin附带了许多标准库函数,默认情况下很多都是可见的而不实际导入它们。因此,listOf
,arrayListOf
,ArrayList<T>()
,......等函数实际上已插入到全局命名空间中。是否有一个编译器标志会禁用此行为?
答案 0 :(得分:2)
java.lang
包一样。
您不必担心自动导入的顶级功能。如果您不使用任何顶级函数,则不会向Java字节代码发出类引用/方法引用。并且所有*arrayOf
函数都将转换为Java数组创建,例如:
Kotlin | Java
------------------------------------
byteArrayOf | new byte[]
------------------------------------
shortArrayOf | new short[]
------------------------------------
intArrayOf | new int[]
------------------------------------
longArrayOf | new long[]
------------------------------------
floatArrayOf | new float[]
------------------------------------
doubleArrayOf | new double[]
------------------------------------
charArrayOf | new char[]
------------------------------------
booleanArrayOf | new boolean[]
------------------------------------
arrayOf<T> | new T[]
------------------------------------