如下代码,定义一个闭包接受两个参数,传递参数时可以传递 size = 2 的 List 作为参数, 使用 length = 2 的数组不可以,使用 size = 2 的 Set 也不可以。
@Test
void test2() {
def closure = { a, b -> a == '1' ? b.toUpperCase() : b.toLowerCase() }
List param1 = ["1", 'AbCd']
assert 'ABCD' == closure(param1)
String[] param2 = ["1", 'AbCd']
assert 'ABCD' == closure(param2) //数组不可以
}
翻看文档未找到相关介绍,那为什么可以使用 List 呢?,求教,多谢
当然 Groovy 支持 使用*List 的方式,将 List 展平作为参数,这里我并没有使用星号
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.