有没有办法将接口作为可变参数传递给groovy中的方法?如何将接口作为可变参数传递给Groovy中的方法?
这里就是我想要做的事:
interface Handler {
void handle(String)
}
def foo(Handler... handlers) {
handlers.each { it.handle('Hello!') }
}
foo({ print(it) }, { print(it.toUpperCase()) })
当我运行下面的代码,我得到的错误: No signature of method: ConsoleScript8.foo() is applicable for argument types: (ConsoleScript8$_run_closure1, ConsoleScript8$_run_closure2) values: [[email protected], [email protected]]
我需要做什么改变吗?
不错! Upvoted! :) – Opal
@Opal只有一个处理程序通过,你的解决方案更短 - 所以返回的优惠;) – cfrick
@cfrick这似乎很优雅。谢谢! – kshep92