【问题标题】:How to override a java method from groovy如何从groovy覆盖java方法
【发布时间】:2009-04-16 14:29:23
【问题描述】:

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

我该怎么做,或者有可能吗?

【问题讨论】:

    标签: java groovy


    【解决方案1】:

    下面的link 给出了一个线索,虽然它只提到了接口。

    以下适用于 Groovy 1.6.1:

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

    【讨论】:

      猜你喜欢
      • 2015-04-30
      • 1970-01-01
      • 2010-12-28
      • 2015-08-28
      • 2013-03-26
      • 2018-12-27
      • 1970-01-01
      • 2011-07-02
      • 2018-09-14
      相关资源
      最近更新 更多