Java 类中的 Groovy 特征

Ste*_*ith 2 java groovy traits

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

我有一个正在尝试解决的问题,该问题可以通过 Groovy 的特征功能完美处理,但它必须与现有的 java 类或仍想用 java 编写的开发人员的新类一起使用。

在 java 中执行class duck implements FlyingAbility {操作会引发有关实现的错误,而 IntelliJ 的 automatix 修复是在 java 类中实现特征中的所有方法,就好像它只是一个接口一样。

有没有一种方法可以让特征在 java 类中使用特征,就像它们在 groovy 类中的工作方式一样?

chr*_*ke- 5

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

也就是说,将 Java 代码转换为 Groovy 通常非常简单,并且添加@CompileStatic到类中通常会生成与等效 Java 类似的代码,尽管(目前).class文件稍大一些。