2016-01-22 90 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

相关问题