Kotlin 如何为数组';编写扩展方法;科特林的伴星是什么?

Kotlin 如何为数组';编写扩展方法;科特林的伴星是什么?,kotlin,Kotlin,正如我们所知(在中提到过,无数人都在写同样的答案),我们可以为同伴对象提供扩展方法,使其看起来像一个“静态扩展” 但当我在kotlin.Array上尝试此操作时,失败了: operator fun <T> Array<T>.Companion.invoke() { } 此代码也会失败。您目前无法在Kotlin中执行此操作。在这里添加它的核心问题是,kotlin.Array当前没有伴生对象,并且不能在不存在的伴生对象上添加扩展 根据,没有办法向不存在的伴生对象添加扩展函数

正如我们所知(在中提到过,无数人都在写同样的答案),我们可以为同伴对象提供扩展方法,使其看起来像一个“静态扩展”

但当我在
kotlin.Array
上尝试此操作时,失败了:

operator fun <T> Array<T>.Companion.invoke() {
}

此代码也会失败。

您目前无法在Kotlin中执行此操作。在这里添加它的核心问题是,
kotlin.Array
当前没有伴生对象,并且不能在不存在的伴生对象上添加扩展

根据,没有办法向不存在的伴生对象添加扩展函数,但人们要求它

在这条线索中,我能找到的最好答案是@yole:

Kotlin 1.2的路线图中没有此功能;我们还没有为后续版本做任何规划


编辑:我找到了,它似乎涵盖了这个案例,并引起了其他人的兴趣。也许会游说在将来的发行版中加入这一点?请注意,我发现了其他几个似乎符合此描述的问题,但都标记为的重复问题,因此我认为这是一个需要升级/游说的问题。

我认为仍然不可能做到这一点,正如您也可以看到的,如果它真的起作用,那么它将是
Array.Companion.invoke()
;伴生对象不依赖于泛型参数。
inline operator fun <reified T> Array<T>.Companion.invoke() {
}