Android正式支持哪种Kotlin版本?
我最近在Kotlin 1.2.10中开发了一个应用程序,并在Android Studio中出现错误:
Call requires API level 24 (current min is 21): java.util.Map#forEach
。
引用下面的代码:
val map = mutableMapOf() map.forEach { s1: String, s2: String -> print("something") }
所以问题是,我怎么知道我使用的Kotlin方法(在Android Studio之外,例如IntelliJ)将在某些Android API级别上可用?
我无法find关于哪个Kotlin版本是Android支持(以及哪个API级别)的信息。
只要你,任何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扩展function,看起来像这样:
map.forEach { (key, value) -> // One parameter of type Map.Entry // Do something }