Dynamic 如何在Groovy中向现有Java类动态添加接口

Dynamic 如何在Groovy中向现有Java类动态添加接口,dynamic,groovy,abstract-syntax-tree,Dynamic,Groovy,Abstract Syntax Tree,我使用一个。但是,我还想将Comparable接口添加到同一个类中,但不知道如何实现 我猜想,使用AST转换可能实现。或者有更简单的方法?也许通过操作expando meta类?您无法通过AST转换实现这一点。AST转换仅适用于byte[]为JDK one时的Groovy类 元类允许您将自己的方法和属性添加到类中,但不能更改java内部的instanceof行为。所以,您不能将接口添加到JDK核心类中,以便在Java库中使用 也许,你应该考虑使用包装类,实现可比< /代码>。< / P>当然,你

我使用一个。但是,我还想将
Comparable
接口添加到同一个类中,但不知道如何实现


我猜想,使用AST转换可能实现。或者有更简单的方法?也许通过操作expando meta类?

您无法通过AST转换实现这一点。AST转换仅适用于
byte[]
为JDK one时的Groovy类

元类允许您将自己的方法和属性添加到类中,但不能更改java内部的
instanceof
行为。所以,您不能将接口添加到JDK核心类中,以便在Java库中使用


也许,你应该考虑使用包装类,实现<代码>可比< /代码>。< / P>当然,你是对的。所以AST转换不是一个解决方案。这其实不是什么大问题,正如你所说,有一些简单的解决办法。我只是觉得有可能以某种方式实现这一点。。。感谢您的回答。如果您决定使用包装器,请检查@Delegate注释。@topr您通知了我。也许最好使用

@Steinar
,通知询问者?;)