Android 官方支持哪个 Kotlin 版本?
Which Kotlin version is officially supported by Android?
我最近在 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 级别)的信息。
任何 Kotlin 都与 Android 兼容,只要您
implementation "org.jetbrains.kotlin:kotlin-stdlib" // or
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
这个带有两个参数回调的 forEach 方法来自 Java 8,它仅在 API 24 之后可用。这也是为什么在 API 24 以下你不能' t
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
您正在寻找的是 Kotlin 扩展函数,它看起来像这样:
map.forEach { (key, value) -> // One parameter of type Map.Entry<String, String>
// Do something
}
我最近在 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 级别)的信息。
任何 Kotlin 都与 Android 兼容,只要您
implementation "org.jetbrains.kotlin:kotlin-stdlib" // or
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
这个带有两个参数回调的 forEach 方法来自 Java 8,它仅在 API 24 之后可用。这也是为什么在 API 24 以下你不能' t
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
您正在寻找的是 Kotlin 扩展函数,它看起来像这样:
map.forEach { (key, value) -> // One parameter of type Map.Entry<String, String>
// Do something
}