我有一個用Scala編寫的應用程序,我的一些團隊成員想要它的Java版本。這是一個使用另一個用Scala編寫的API的演示應用程序,他們希望Java版本的應用程序能夠使用Java中的API。但是,該應用程序有點大,我不想在Java中手動rewerite(並且他們不想學習Scala)。有什麼工具可以自動從Scala代碼生成(可讀的)Java代碼嗎?自動將Scala代碼轉換爲Java代碼
13
A
回答
11
7
我不認爲有可能從scala轉換回標準java,因爲Scala可以完成一些相當低級別的字節碼操作。我90%確定他們做了一些無法完全轉換回普通Java代碼的東西。
5
不,沒有這樣的工具。在某種意義上,Scala是Java的一個腳本。 看看coffescript中所有那些時髦的類是如何爲javascript的translated。 *和scala一樣。
我不認爲有很多功能無法以任何方式轉換爲Java,但大多數功能都會被轉換爲非常混亂的代碼,即使人類會做這些工作。
*不能隨便說關於類
+0
看看java到scala的鏈接。似乎很快我的團隊成員會問同樣的問題:) – Jus12 2012-03-26 22:47:09
2
不知道這是否會工作,但你可以通過Java反編譯運行的類文件。
如果它在所有的結果必然是醜陋的地獄。
2
你要反編譯的.class文件到Java源文件,提防斯卡拉產生更多的.class文件
可以從Oracle使用javap的SDK中包含的或反編譯的jad
爲詳細說明閱讀下面的文章:
相關問題
- 1. 將Java代碼轉換爲C#代碼
- 2. 將Apache Spark Scala代碼轉換爲Python
- 3. 如何將Scala代碼轉換爲Scheme?
- 4. 將Java編碼轉換爲僞代碼
- 5. 自動將Clojure源代碼轉換爲Java源代碼的最佳方式
- 6. 將Android代碼轉換爲MonoAndroid代碼
- 7. 將PHP代碼轉換爲C#代碼
- 8. 將JavaScript代碼轉換爲C代碼
- 9. 將Informatica代碼轉換爲SQL代碼
- 10. 將atmega32代碼轉換爲atmega16代碼
- 11. 將JavaScript代碼轉換爲VBScript代碼?
- 12. 將matlab代碼轉換爲R代碼
- 13. 將pyside代碼轉換爲pyqt5代碼
- 14. 將html代碼轉換爲actionscript代碼
- 15. 將PHP代碼轉換爲ColdFusion代碼
- 16. 將Javascript代碼轉換爲PHP代碼
- 17. 將僞代碼轉換爲C#代碼
- 18. 代碼java轉換爲php
- 19. 將PHP代碼子集轉換爲Java/Scala/Groovy的工具?
- 20. 如何將以下Java構造函數代碼轉換爲Scala?
- 21. 將遺留Java代碼轉換爲Scala函數式成語
- 22. 是否可以自動將Java代碼轉換爲PHP?
- 23. 將Java代碼轉換爲SAS
- 24. 將代碼從java轉換爲python
- 25. 將JAVA代碼KeyStore.getInstance轉換爲c#
- 26. 將Java代碼轉換爲Groovy
- 27. 將C代碼轉換爲Java
- 28. 將C代碼轉換爲Java:指針
- 29. 將Java加密代碼轉換爲NodeJS
- 30. 將Java AWT代碼轉換爲Android
也許你的同事可以嘗試讀取Scala的例子,有很好的機會,他們沒有爲「可曉得cala「來了解代碼的功能。 – gerferra 2012-03-27 16:44:39
我[書面證明的概念在序言(https://gist.github.com/jarble/d4325e5a1a700129a8db20bde0b2c410),其轉換斯卡拉的一個子集到Java。它基於我的[universal-transpiler](https://github.com/jarble/universal-transpiler)庫。 – 2016-09-17 18:16:09