将 Kotlin 源文件转换为 Java 文件

Kailash Vaviya 2023年1月30日
  1. 为什么要将 Kotlin 转换为 Java
  2. 将 Kotlin 源文件转换为 Java 源文件
  3. 使用 Android Studio/IntelliJ IDEA 将 Kotlin 代码转换为 Java
  4. 使用 FernFlower 将 Kotlin 代码转换为 Java 代码
将 Kotlin 源文件转换为 Java 文件

Google 宣布 Kotlin 为 Android 应用程序开发的首选语言。但这并不意味着我们不需要使用 Java。

Kotlin 的成功是因为与 Java 的互操作性,因为两者都使用 Java 虚拟机 (JVM)。

因此,将 Kotlin 源代码文件转换为 Java 文件是必不可少的。

为什么要将 Kotlin 转换为 Java

由于以下原因,我们可能需要将 Kotlin 源文件转换为 Java:

  • 集成一些 Java 功能。
  • 在 Java 中编译和运行以检测错误或其他问题。
  • 使用特定于 Java 的功能,如运算符重载和 静态 方法。
  • 为了更好的代码可读性。

将 Kotlin 源文件转换为 Java 源文件

由于 Kotlin 和 Java 使用 JVM,因此可以将一种语言的文件转换为另一种语言的文件。将 Kotlin 代码转换为 Java 代码有两种方法; Android Studio/IntelliJ IDEAFernFlower

使用 Android Studio/IntelliJ IDEA 将 Kotlin 代码转换为 Java

将 Kotlin 文件转换为 Java 文件包括两个步骤:

  • 编译 Kotlin 文件到 JVM 字节码。
  • 反编译 JVM 字节码到 Java 文件。

将 Kotlin 文件转换为 Java 文件

这是使用 Android Studio 将 Kotlin 文件转换为 Java 文件的分步演示。

  • 打开应转换为 Java 的 Kotlin 文件。
  • 导航到工具 > Kotlin > 显示 Kotlin 字节码。

使用 Android Studio 将 Kotlin 文件转换为 Java 文件

  • 打开 Kotlin 文件的字节码。
  • 勾选 JVM 8 Target 并点击 Decompile 按钮以获取 Java 代码。

单击反编译按钮以获取 Java 代码

IntelliJ IDEA 中将 Kotlin 转换为 Java 的过程是相同的。

使用 FernFlower 将 Kotlin 代码转换为 Java 代码

IntelliJ 反编译选项使用 FernFlower 生成后端代码。

因此,如果我们不想使用 IntelliJ IDEA 或 Android Studio 进行转换,我们可以直接使用 FernFlower。我们可以通过以下步骤来做到这一点:

  • 使用 kotlinc file_name.kt 命令编译 Kotlin 源文件以创建类文件。
  • 使用 FernFlower 获取 fernflower.jar 文件(要获取 jar 文件,请在下载 FernFlower 项目后运行 Gradle 构建)。
  • 使用命令 java -jar fernflower.jar file_name.class 获取转换后的 Java 源文件。

虽然我们可以使用这两种方法将 Kotlin 文件转换为 Java 文件,但建议使用 IntelliJ IDEAAndroid Studio

原因是直接使用 FernFlower 会导致转换代码复杂,难以阅读和理解。

作者: Kailash Vaviya
Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn