Array上的函数average()不起作用

我决定在Kotlin的项目中写下第一堂课。

我在文档中看到,数组上有平均函数,可迭代的http://apimirror.com/kotlin/api/latest/jvm/stdlib/kotlin.collections/-iterable/index

所以我写了这样的代码:

val numbers: IntArray = intArrayOf(11, 20, 30, 40, 50) val average: Float = numbers.average() 

它在try.kotlinlang.org工作,但在Android Studio中,我得到:

未解决的参考:平均

您可能会错过build.gradle文件对Kotlin标准库的依赖关系:

 dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" ... } 

如果你还没有配置你的项目,你也可以通过Tools -> Kotlin -> Configure Kotlin in Project

一般来说,您也可以看到如何使用Android和Gradle设置Kotlin的官方文档。

根据你链接的文档,该函数返回一个Double ,而不是一个Float 。 我在IntelliJ上收到了抱怨。

试试这个:

 val numbers: IntArray = intArrayOf(11, 20, 30, 40, 50) val average: Double = numbers.average() 

或者完全忽略这些types:

 val numbers = intArrayOf(11, 20, 30, 40, 50) val average = numbers.average() 

看看平均()函数的返回types,它返回Double不浮点,所以使用Double来代替。 大多数情况下,我们在Kotlin中使用Double而不是Float。