將 Kotlin 原始檔轉換為 Java 檔案

Kailash Vaviya 2024年2月15日
  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