如何从groovy覆盖java方法

时间:2009-04-16 14:29:23

标签: java groovy

我有一个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}

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

1 个答案:

答案 0 :(得分:12)

以下link给出了一个线索,尽管它只提到了接口。

以下适用于Groovy 1.6.1:

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