gpt4 book ai didi

groovy - Groovy 中的 1..5、[*1..5] 和 [1..5] 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 00:50:45 24 4
gpt4 key购买 nike

在 Groovy 中,有什么区别,

def a=1..5
def b= [*1..5]
def c=[1..5]

[*1..5]中的*代表什么?

最佳答案

* 代表Spread Operator 。详细说明您的示例:

a = 1..5
b = [*1..5]
c = [1..5]

assert a.class.name == "groovy.lang.IntRange" //Is a range from 1 till 5
assert b.class.name == "java.util.ArrayList" //Spread the range in a list
assert c.class.name == "java.util.ArrayList" //Is a list

扩展@ataylor的解释:

assert a.size() == 5
assert b.size() == 5
assert c.size() == 1

要访问 c 中的每个元素,您必须迭代它(这是一个范围)

c.each{println it}

Groovy Goodness Haki 先生的文章有一个详细的用法示例。

关于groovy - Groovy 中的 1..5、[*1..5] 和 [1..5] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18319718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com