java - 如何将Java代码自动转换为Groovy代码

标签 java grails plugins groovy

我已经用 Java 编写了一些代码,我需要将代码转换为 Groovy,以利用 Groovy 提供的功能。有什么方法可以自动将 Java 代码转换为 Groovy 或一些现有的插件可以让我朝这个方向开始吗?

最佳答案

有趣的事实 - Groovy 已经有一个用于此目的的工具,称为 java2groovy - 你可以在 bin 中看到它Groovy 安装目录。这是一个调用发行版中的类的包装脚本 - org.codehaus.groovy.antlr.java.Java2GroovyMain .

不要注意添加到转换后的代码标题中的警告:

!! NOT FIT FOR ANY PURPOSE !!

'java2groovy' cannot be used to convert one working program into another

更严肃地说 - 我很确定代码已经很长一段时间没有更新了,而且在巅峰时期功能也不是很丰富。

我的建议与其他人所说的类似 - 如果它可以工作并经过测试,就保持原样。如果您确实需要在 Groovy 中使用它,Groovy 和 Java 之间存在一些有问题的差异,主要是由于 Groovy 使用 { } 字符作为闭包;使用这些结构(例如数组)的 Java 结构需要进行转换。另外,奇怪的是 - 没有 do/while Groovy 中的循环。在某些情况下,运行时行为与编译时不同,但 Java 使用编译时的行为。动态分派(dispatch)通常会产生更好的选择,因为 Groovy 着眼于类型是什么,而不是它们在编译时看到的内容。但如果您期望它是相同的,那么更好就是一个问题。

参见http://groovy.codehaus.org/Differences+from+Java了解问题的描述和一些解决方法。

关于java - 如何将Java代码自动转换为Groovy代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26584320/

相关文章:

java - 什么是用于实时系统的良好日志记录库(快速且不创建对象)?

mysql - 尝试在 Grails 3 和 Spring Security Rest 中访问/api/login 时出现 401 错误

grails - 隐式依赖json-lib-2.4-jdk15.jar会导致构建失败,即使在build.gradle中已将其排除在外

hibernate - 尝试在域中查找空值时,grails方法缺少异常

mongodb - Grails Mongodb插件在插件中不可见

java - 如何使用 jets3t 访问 S3?

java - 如何设置正确的结构缓冲区大小?

java - grails 3加载图像外部文件夹

c#-4.0 - 动态CRM插件下载Word文档

Eclipse 的 Javascript 插件?