我有一个用Scala编写的应用程序,我的一些团队成员想要它的Java版本。它是一个演示应用程序,使用另一个用Scala编写的API,他们希望Java版本的应用程序能够使用Java中的API。但是,应用程序有点大,我不想手动重新使用Java(他们不想学习Scala)。是否有任何工具可以从Scala代码自动生成(可读)Java代码?
答案 0 :(得分:10)
他们希望Java版本的应用程序能够使用Java中的API
Scala类可以从Java中使用(因为它最终都是JVM字节码)。你可以用你的类包装一个罐子供它们使用吗?
答案 1 :(得分:8)
我认为从scala转换回标准java是不可能的,因为Scala做了一些相当低级别的字节码操作。我90%肯定他们做了一些不能完全转换回普通Java代码的东西。
答案 2 :(得分:5)
不,没有这样的工具 Scala在某种意义上是Java的coffescript。 看看coffescript中所有那些时髦的类都是translated到javascript。与scala相同的* 我不认为有很多功能无法以任何方式转换为Java,但大多数功能都将转换为极其混乱的代码,即使人类会这样做。
*没有直接说关于类
答案 3 :(得分:3)
您必须将.class文件反编译为java源文件,请注意scala会生成更多.class文件
您可以使用sdk或jad反编译器中包含的oracle的javap
详细解释阅读以下文章:
答案 4 :(得分:2)
不确定这是否可行,但您可以通过java反编译器运行类文件。
如果它起作用,那么结果肯定是丑陋的。