2009-04-16 109 views
8

我有一個groovy類,能夠將其輸出寫入StringWriter - (通過setStringWriter方法)。如何覆蓋groovy中的java方法

在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} 

我該如何去做,或者甚至有可能?

回答

12

下面的link給出了一個線索,雖然它只提到接口。

使用Groovy 1.6.1以下工作:

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