Android正式支持哪个Kotlin版本?

时间:2018-01-31 23:25:17

标签: kotlin android-api-levels

我最近在Kotlin 1.2.10中开发了一个应用程序,并在Android Studio中出错:

Call requires API level 24 (current min is 21): java.util.Map#forEach

参考以下代码:

val map = mutableMapOf<String, String>()
map.forEach { s1: String, s2: String -> print("something") }

所以问题是,我怎么知道我使用的Kotlin方法(在Android Studio之外,例如IntelliJ)将在某些Android API级别上提供?

我无法找到有关Android支持的Kotlin版本(以及API级别)的信息。

1 个答案:

答案 0 :(得分:4)

只要您

,任何Kotlin都与Android兼容
compile "org.jetbrains.kotlin:kotlin-stdlib" // or
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"

这个带有两个参数回调的forEach方法来自Java 8,它只能从API 24开始使用。这也是为什么在API 24以下你不能

的原因。
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

您正在寻找的是Kotlin扩展功能,如下所示:

map.forEach { (key, value) -> // One parameter of type Map.Entry<String, String>
    // Do something
}