Groovy Closure泛型返回/参数?

时间:2014-05-13 14:07:57

标签: grails groovy

我有一个方法应该使用前两个参数Car和Tire进行Closure,并且应该返回一种类型的车辆。

有没有办法在Groovy Closures中声明参数类型?

我在想

method(Closure<Vehicle, Car, Tyre> closure); 

但是正确的方法是什么?

2 个答案:

答案 0 :(得分:5)

您只能定义Closure的返回类型,即:Closure<Vehicle>

从Groovy 2.3开始,您可以使用@ClosureParam来调整类型系统(请参阅“调整类型系统” here),但Groovy 2.3目前不在Grails我相信......

答案 1 :(得分:0)

Closure上的泛型参数用于返回类型。 Closure<String>将返回一个字符串。

可以使用@ClosureParams注释

声明参数

http://beta.groovy-lang.org/docs/groovy-2.3.0-beta-1/html/gapi/groovy/transform/stc/ClosureParams.html