加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在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一起使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读