我有一个Kotlin源文件,但我想将其翻译为Java。
如何将Kotlin转换为Java源代码?
我有一个Kotlin源文件,但我想将其翻译为Java。
如何将Kotlin转换为Java源代码?
如@Vadzim所说,在IntelliJ或Android Studio中,您只需执行以下操作即可从Kotlin获取Java代码:
菜单> 工具> Kotlin> 显示Kotlin字节码
反编译
按钮更新:
在最新版本(1.2+)的Kotlin插件中,您还可以直接执行菜单> 工具> Kotlin-> 反编译Kotlin到Java
。
我将Kotlin编译为字节码,然后将其反编译为Java。 我使用Kotlin编译器进行编译,使用cfr进行反编译。
我的项目在这里。
这样可以使我编译出以下内容:
package functionsiiiandiiilambdas.functions.p01tailiiirecursive
tailrec fun findFixPoint(x: Double = 1.0): Double =
if (x == Math.cos(x)) x else findFixPoint(Math.cos(x))
变成这样:
package functionsiiiandiiilambdas.functions.p01tailiiirecursive;
public final class ExampleKt {
public static final double findFixPoint(double x) {
while (x != Math.cos(x)) {
x = Math.cos(x);
}
return x;
}
public static /* bridge */ /* synthetic */ double findFixPoint$default(double d, int n, Object object) {
if ((n & 1) != 0) {
d = 1.0;
}
return ExampleKt.findFixPoint(d);
}
}
但是,我想提到我更喜欢的方法:使用Jadx decompiler for Android。
它允许查看闭包的生成代码,而且对我来说,结果代码比IntelliJ IDEA反编译器生成的代码更“清晰”。
通常,当我需要查看任何Kotlin类的Java源代码时,我会执行以下操作:
./gradlew assembleDebug
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
在此GUI中,基本的IDE功能可用:类搜索、单击跳转到声明等。
还可以保存所有源代码,然后使用其他工具(如IntelliJ IDEA)查看。
brew install jadx
- milosmns