gpt4 book ai didi

java - 为什么 Kotlin 使用 arrayOf 这样的全局函数

转载 作者:行者123 更新时间:2023-12-02 01:37:13 25 4
gpt4 key购买 nike

我是 Kotlin 新手。我发现这是一种奇怪的做法。

arrayOf为例/mutableListOf ,本能是尝试使用构造函数构造其中一种类型,即 new Array<T>(...args) 。或者甚至是静态工厂方法,例如 LocalDateTime.of(...)

为什么不是 new Array<T>()使用过,或者至少是一个作用域函数,即 Array.of 。这些方法是否也会使全局范围变得困惑?

最佳答案

arrayOfmutableListOf 不在“全局范围”内(这甚至不存在)。它们分别位于 kotlinkotlin.collections 包中。

碰巧 kotlin.*kotlin.collections.* 是任何 kotlin 文件的默认导入,因此您不必自己进行导入。请参阅Default Imports .

这与 Java 类似,默认情况下会导入 java.lang.*,您无需指定它。

此外,您不能“构造” arrayOf 和 mutableListOf 因为它们不是类型;它们是方法 - 事实上,它们以小写字母开头是表明这一点的标准方式 - 类型以大写字母开头。

Kotlin 允许在类外部使用包级别的方法(尽管当为 JVM 编译时,它们将位于类内部),但这与 Java 中的 import static 没有太大区别,您可以使用 Java 中的 import static 来实现。从没有类名作为前缀的类访问静态方法。

关于java - 为什么 Kotlin 使用 arrayOf 这样的全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55072947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com