我有一个Kotlin源文件,但我想把它翻译成Java。
如何将Kotlin转换为Java源代码?
我有一个Kotlin源文件,但我想把它翻译成Java。
如何将Kotlin转换为Java源代码?
当前回答
Java和Kotlin运行在Java虚拟机(JVM)上。
将Kotlin文件转换为Java文件包括两个步骤,即将Kotlin代码编译为JVM字节码,然后将字节码反编译为Java代码。
将Kotlin源文件转换为Java源文件的步骤:
在Android Studio中打开你的Kotlin项目。 然后导航到Tools -> Kotlin -> Show Kotlin Bytecode。
您将获得Kotin文件的字节码。 现在单击Decompile按钮,从字节码中获取Java代码
其他回答
在Android Studio中,要将Kotlin源文件转换为Java源文件,您需要:
在Mac上按Cmd-Shift-A键, 或者在Windows机器上按Ctrl-Shift-A。 键入您正在寻找的动作:Kotlin Bytecode并从菜单中选择Show Kotlin Bytecode。
按下Kotlin字节码面板顶部的反编译按钮。
现在你在一个相邻的选项卡中得到了一个反编译的Java文件和Kotlin文件:
你可以去工具> Kotlin >显示Kotlin字节码
我将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);
}
}
在android studio中打开kotlin文件 进入工具->kotlin ->kotlin bytecode 在kotlin文件旁边打开的新窗口中,单击反编译按钮。它将创建等同于kotlin文件的Java。
Java和Kotlin运行在Java虚拟机(JVM)上。
将Kotlin文件转换为Java文件包括两个步骤,即将Kotlin代码编译为JVM字节码,然后将字节码反编译为Java代码。
将Kotlin源文件转换为Java源文件的步骤:
在Android Studio中打开你的Kotlin项目。 然后导航到Tools -> Kotlin -> Show Kotlin Bytecode。
您将获得Kotin文件的字节码。 现在单击Decompile按钮,从字节码中获取Java代码