繁体   English   中英

Java 与 Kotlin 的兼容性

[英]Java compatibility with Kotlin

这是来自 Android 使用 kotlin。

从下面的屏幕截图来看, Java version将是我当前在我的 Android Studio IDE 中配置的 JDK。Java 版本是 JDK 的版本,而Gradle Version是指 8853617per44088 包装

在我的 gradle.wrapper 属性中,我有以下distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip这意味着我应该将我的 JDK 设置为使用版本 16

在此处输入图像描述

gradle version指的是我在 gradle 包装器中设置的内容。 嵌入的 kotlin 版本指的是 kotlin 目前我有以下版本: val kotlin_version = "1.5.20"所以我的 Gradle 包装器应该是 7.0

但是我不确定第三列koltin language version因为kotlin的最新版本是1.8

在此处输入图像描述

这意味着我应该将我的 JDK 设置为使用版本 16

不。您显示的列表是另一种方式:如果您安装了 JDK 版本 16,则必须使用 Gradle 版本 7.0 或更高版本。 但是你仍然可以使用 Java 1.8 来运行 Gradle 7.6。

根据https://docs.gradle.org/current/userguide/compatibility.html的第一句话:

执行Gradle需要8-19之间的Java版本。 Java 20及以后版本暂不支持。

对于 Kotlin 版本:这是 Gradle 内部使用的 Kotlin 版本(用于内部工具和.kts 构建脚本)。

没有什么能阻止您在项目文件中使用最新的 Kotlin 版本 1.8。


Kotlin和Java之间的兼容性是一个单独的主题。

Kotlin 1.8 ( https://kotlinlang.org/docs/whatsnew18.html ) state 的发行说明:

从1.8.0版本开始,编译器可以生成字节码版本对应JVM 19的类。

并且(在https://kotlinlang.org/docs/whatsnew18.html#updated-jvm-compilation-target下):

在 Kotlin 1.8.0 中,标准库(kotlin-stdlib、kotlin-reflect 和 kotlin-script-*)是使用 JVM 目标 1.8 编译的。 以前,标准库是使用 JVM 目标 1.6 编译的。

Kotlin 1.8.0 不再支持 JVM 目标 1.6 和 1.7。

这意味着您可以将 Kotlin 1.8 与 JDK 1.8 至 19 版一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM