在Groovy中的数组名称前面的星号?
发布时间:2020-12-14 16:30:21 所属栏目:大数据 来源:网络整理
导读:我对Groovy有点新意,所以我确定这是非常明显的事情之一……但是很难通过Google搜索. 在其他语言中,星号往往代表指针.但是,在这段Groovy代码中: byte[] combineArrays(foo,bar,int start) { [*foo[0..start],*bar,*foo[start..foo.size()]]} 我只能想象事实
我对Groovy有点新意,所以我确定这是非常明显的事情之一……但是很难通过Google搜索.
在其他语言中,星号往往代表指针.但是,在这段Groovy代码中: byte[] combineArrays(foo,bar,int start) { [*foo[0..<start],*bar,*foo[start..<foo.size()]] } 我只能想象事实并非如此.指的是,指针? Groovy的? 我假设这个代码打算传递foo和bar的成员而不是多维数组.那么星号究竟是什么意思呢? 非常感谢你的帮助. 解决方法
当像这样使用时,*运算符将List或Array扩展到参数列表中.这根本没有帮助,是吗?一个例子呢?假设我们有这个功能:
def add(Number a,Number b) { return a + b } 而这个清单 def args = [1,2] 我们不应该这样做: add(args) 因为该函数需要两个数字参数.但我们可以这样做: add(*args) 因为*运算符将2个元素的List转换为2个参数.您可以将此运算符与Lists和Arrays一起使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |