自动化Python到Java的翻译

34 投票
4 回答
125085 浏览
提问于 2025-04-11 09:24

有没有什么工具可以自动把Python代码转换成Java代码?Jython能做到这一点吗?

4 个回答

4

是的,Jython可以做到这一点,不过这可能不是你想要的结果。

15

其实,这个建议可能对你帮助不大,但你可以写一个脚本,为每个Python类创建一个Java类,包括方法的空壳,然后把Python实现的方法放在Javadoc里面。

实际上,这在Python中可能很容易实现。

我曾经在一家公司工作,他们把一个庞大的Smalltalk(和Python有点像)系统移植到Java上,这正是他们所做的。填充方法的过程是手动的,但非常重要,因为这让你真正思考发生了什么。我怀疑单纯的粗暴方法会产生好的代码。

还有一种可能性:你能更容易地把Python转换成Jython吗?Jython就是在Java虚拟机上的Python。也许可以使用Java反编译工具(比如JAD)把字节码再转换回Java代码(或者你可能只是想在Java虚拟机上运行)。不过我对此不太确定,也许其他人会有更好的主意。

8

这可能不是个简单的问题。
把在Python中定义的类映射到Java中的类型会是个大挑战,因为两者在类型绑定的时间上有很大的不同。(Python用的是鸭子类型,而Java则是在编译时绑定类型。)

撰写回答