2016-01-22 67 views
125

我有一個Kotlin源文件,但我想將其轉換爲Java。如何將kotlin源文件轉換爲java源文件

如何將Kotlin轉換爲Java源代碼?

+5

我敢肯定,沒有自動化的工具,已建成了這個呢。你可以先建立它! –

+17

可能會更容易教他們閱讀Kotlin –

+1

哈!我完全同意;科特林是一個寫作和閱讀的樂趣。說實話,我想要一種轉換kotlin的方法,這樣我就可以檢查我們的java repoitory,而不必在同伴中介紹「學習新語言的沉重負擔」。爲了改善潛在的答案,我將刪除提到問題的人。這不是關於教學,而是關於源代碼轉換。 – activedecay

回答

128

作爲@Vadzim說,在的IntelliJ或Android工作室,你就必須做到以下幾點從科特林獲得Java代碼:

  1. 菜單>工具>科特林>顯示科特林字節碼
  2. 點擊在Decompile按鈕
  3. 複製Java代碼
+0

不幸的是,截至目前(2017年7月),這不會反編譯創建爲lambda表達式閉包的類。 – csharpfolk

+7

Java輸出不難看嗎? – Pacerier

+7

@Prier與大多數反編譯輸出一樣,它當然是 –

27

您可以將Kotlin編譯爲字節碼,然後使用Java反彙編程序。

的反編譯可能InteliJ理念內完成,或者使用FernFlower https://github.com/fesh0r/fernflower(感謝@Jire)

有我幾個月前檢查沒有自動化工具(和一個AFAIK沒有計劃)

+2

作爲一個方面說明,請注意泛型在生成的代碼中可能會導致編譯器警告,因爲Kotlin允許java編譯器沒有的東西。儘管如此,它仍然以字節碼工作。 –

+0

@JacobZimmerman哇,從來沒有聽說過。一些例子? – voddan

+0

@voddan我認爲他指的是泛化的泛型,這在純Java中是不可能的。 – Jire

2

在Android Studio中,你就必須做到以下幾點來獲得Java字節碼代碼:

顯示字節碼:工具 - >科特林 - >顯示科特林字節碼 或者CMD + Shift + A鍵(Mac)/ Ctrl + Shift + A(Windows)並輸入「科特林字節碼」

注意:反編譯按鈕僅如果你有章安大會另作啓用插件「Java字節碼反編譯」

Java字節代碼:

enter image description here

相關問題