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。
- Android系统。 设置textSize所以它的高度匹配它的父布局高度的百分比 – 可能吗?
- 在android布局中使用kotlin的Unit(或任何其他对象)types
- 用于ViewModels的自定义半广义工厂
- Kotlin和Android数据绑定(BuildTools 2.0.0)
- Kotlin Parcelize Exception API <21
- 任何机会让CodeMirror在Android Chrome上玩?
- 为什么我的RxJava设置阻止我的UI线程? 使用BluetoothAdapter.startLeScan回调
- Android:由于:MenuPopup,在此上下文中无法访问typesMenuPopup
- UNRESOLVED_REFERENCE未解决的参考:isInitialized