[英]How to instantiate a Java abstract class with a constructor parameter with a groovy closure
[英]How do I convert a Groovy class constructor into a Closure?
因此,Groovy具有這種相對方便的語法,可以將方法轉換為閉包,例如
[1,2,3].each { println it }
// is equivalent to
[1,2,3].each this.&println
但是我如何轉換一個類的構造函數,例如
[1,2,3].collect { new Thing( it ) }
// is equivalent to
[1,2,3].collect ????
Groovy的反思需要檢查Thing.constructors
列表,但我不知道將&符放在Thing.constructors[0]
。
您可以使用invokeConstructor
metaClass方法為給定參數調用構造函數。
class Thing {
Thing(Integer num) { this.num = num }
Integer num
}
[1,2,3].collect Thing.metaClass.&invokeConstructor
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.