自动将Scala代码转换为Java代码

Jus*_*s12 18 java scala code-translation scala-java-interop

我有一个用Scala编写的应用程序,我的一些团队成员想要它的Java版本.它是一个演示应用程序,使用另一个用Scala编写的API,他们希望Java版本的应用程序能够使用Java中的API.但是,应用程序有点大,我不想手动重新使用Java(他们不想学习Scala).是否有任何工具可以从Scala代码自动生成(可读)Java代码?

dhg*_*dhg 10

他们希望Java版本的应用程序能够使用Java中的API

Scala类可以从Java中使用(因为它最终都是JVM字节码).你可以用你的类包装一个罐子供他们使用吗?

  • 也许你可以给他们API以及一些如何使用它的Java示例? (7认同)

Joh*_*nyK 8

我不认为将scala转换回标准java是可能的,因为Scala做了一些相当低级别的字节码操作.我90%肯定他们做了一些不能完全转换回普通Java代码的东西.

  • 没错,他们都是图灵完成的.我的意思是我认为你不能生成可以编译成与scala完全相同的字节代码的Java代码.你无法直接翻译. (3认同)
  • 你确定吗?我不相信一些编译程序真的可以生成所有有效的Java字节码序列...... (2认同)

om-*_*nom 5

不,没有这样的工具.
Scala在某种意义上是Java的coffescript.看看coffescript中所有那些时髦的类都被翻译成了javascript.与scala相同的*.
我不认为有很多功能无法以任何方式转换为Java,但大多数功能将被转换为极其混乱的代码,即使人类会这样做.

但是有java to scala翻译.

*不是说关于课程的字面意思


fir*_*hil 5

您必须将 .class 文件反编译为 java 源文件,请注意 scala 会生成更多 .class 文件

您可以使用sdk中包含的oracle中的javap或jad反编译器

详细解释请阅读以下文章:

将 scala 类链接到 java 源