Как переопределить метод Java из Groovy - PullRequest
8 голосов
/ 16 апреля 2009

У меня есть класс 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 Ответ

12 голосов
/ 16 апреля 2009

Следующая ссылка дает подсказку, хотя упоминает только интерфейсы.

Следующие работы с Groovy 1.6.1:

def s =  [ write: { String line -> print line} ] as StringWriter
filter.setStringWriter(s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...