arrayOf
и mutableListOf
не находятся в «глобальном масштабе» (это даже не то, что существует).Они находятся в пакетах kotlin
и kotlin.collections
соответственно.
Просто так получается, что kotlin.*
и kotlin.collections.*
являются импортом по умолчанию для любого файла kotlin, поэтому вам не нужно делатьэто импортировать себя.См. Импорт по умолчанию .
Это похоже на Java, где java.lang.*
импортируется по умолчанию, и вам не нужно указывать его.
Также вы можете 't "construct" arrayOf и mutableListOf, потому что они не являются типами;это методы - и тот факт, что они начинаются со строчной буквы, является стандартным способом указать, что - типы начинаются с заглавных букв.
Kotlin допускает методы на уровне пакета вне класса (хотя при компиляции дляJVM, они будут внутри класса), но это не очень отличается от import static
в Java, с помощью которого вы можете получить доступ к статическому методу из класса без префикса имени класса.