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()
或者完全忽略这些类型:
val numbers = intArrayOf(11, 20, 30, 40, 50) val average = numbers.average()
只要看看average()函数的返回类型,它返回Double not Float,所以使用Double来代替。 大多数情况下,我们在Kotlin中使用Double而不是Float。