如何从groovy覆盖java方法

我有一个groovy类,能够将其输出写入StringWriter – (通过setStringWriter方法).

java中我会使用以下代码

filter.setStringWriter(new StringWriter(){
   @Override
   public void write(String string){
       // do something with the string
   }
});

对于Groovy我被告知要使用一个闭包,我尝试了以下但没有运气:

def s =  {String line -> print line} as StringWriter
filter.setStringWriter(s)

要么

filter.setStringWriter{String line -> print line}

我该怎么做呢,或者甚至可能吗?

解决方法

以下 link给出了一个线索,虽然它只提到了接口.

以下适用于Groovy 1.6.1:

def s =  [ write: { String line -> print line} ] as StringWriter
filter.setStringWriter(s)

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...