java - Java 类中的 Groovy 特性

标签 java groovy traits

我正在处理现有的 Java 代码库,但已说服团队使用交叉编译,以便可以在 groovy 中完成新开发,同时仍使用旧代码库。两全其美,风险低, yield 多等。

我有一个问题正在尝试解决,Groovy 的 trait 功能完美地解决了这个问题,但它必须与现有的 java 类一起使用,或者对于仍然想用 java 编写的开发人员来说,它必须使用新的类。

在 java 中执行 class duck implements FlyingAbility { 会抛出关于实现的错误,而 IntelliJ 的 automatix 修复是在 java 类中实现特征中的所有方法,就好像它只是一个接口(interface).

有没有办法让 trait 在 java 类中使用 trait,就像它们在 groovy 类中的工作方式一样?

最佳答案

您不能在 Java 类中使用特征。 Groovy 特征是作为应用类的编译时转换实现的,Java 类不通过 Groovy 编译器。

也就是说,it's usually very simple to convert Java code to Groovy , 并将 @CompileStatic 添加到类中通常会生成与等效的 Java 执行类似的代码,尽管(目前)具有更大的 .class 文件。

关于java - Java 类中的 Groovy 特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912756/

相关文章:

java - 从 Double 转换为 float for android canvas

debugging - IntelliJ 在 Debug模式下不显示值

java - 使用groovy对java类进行单元测试

generics - 实现返回带有闭包的结构的工厂函数

rust - 如何更好地存储字符串以避免出现许多克隆?

java - 从 Intent 中获取值(value)的问题

Java 安卓工作室 : change an attribute of a View inside its own listener

java - 如何将 3x3 二维数组顺时针旋转 n 次

java - Groovy 打包到 Jar 中,无法使用 Maven 工作。由 : java. lang.AbstractMethodError 引起

python - 使用适配器时如何在 TraitsUI TreeView 中启用右键单击菜单?