我知道Scala和Java都从其各自的编译器生成Byte代码, JVM 可以理解。
但是我有什么办法可以使用Scala编译器编写Scala代码并编译并生成字节码,然后使用任何 Java反编译器,我们可以生成相应的Java代码吗?或反之亦然。
是否存在执行此操作的工具?可以进行这种转换吗?如果不能,您能解释一下为什么不可能吗?
谢谢。
答案 0 :(得分:2)
Scala可以编译为普通的Java字节码,因此没有什么可以阻止您在其上运行常规Java反编译器。但是,Java反编译器针对反编译Java代码进行了优化,因此您得到的结果可能并不理想。特别是,出于明显的原因,您不会看到Scala的语法糖。
我不知道有任何专门的Scala反编译器。由于Scala复杂得多,因此编写它会是一项艰巨的任务。