Scala生成字节码到Java代码的转换

时间:2018-11-05 09:33:13

标签: java scala jvm bytecode decompiler

我知道Scala和Java都从其各自的编译器生成Byte代码, JVM 可以理解。

但是我有什么办法可以使用Scala编译器编写Scala代码编译生成字节码,然后使用任何 Java反编译器,我们可以生成相应的Java代码吗?或反之亦然

是否存在执行此操作的工具?可以进行这种转换吗?如果不能,您能解释一下为什么不可能吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

Scala可以编译为普通的Java字节码,因此没有什么可以阻止您在其上运行常规Java反编译器。但是,Java反编译器针对反编译Java代码进行了优化,因此您得到的结果可能并不理想。特别是,出于明显的原因,您不会看到Scala的语法糖。

我不知道有任何专门的Scala反编译器。由于Scala复杂得多,因此编写它会是一项艰巨的任务。