需要帮助了解Groovy列表

时间:2016-06-14 23:11:24

标签: groovy

我是Groovy语言的新手。有人可以向我解释这行代码的含义吗?

List<String> somevar = [].withDefault { }

感谢。

2 个答案:

答案 0 :(得分:1)

正如the documentation中所述:

  

装饰一个列表,允许它在使用不存在的索引值调用时增长。使用这样的值调用时,列表的大小会增加,并且通过调用提供的init Closure将默认值放在列表中

good blog post about it here

答案 1 :(得分:1)

它为列表中尚未包含的元素提供默认值。例如

List<String> somevar = [].withDefault { }
println "Value at index 0 is "+somevar[0]; // gives null
println "Value at index 5 is "+somevar[5]; // gives null

List<String> somevarb = ['a'].withDefault { 'b' };
println "Value at index 0 is "+somevarb[0]; // gives a
println "Value at index 5  is "+somevarb[5]; // gives b

所以当它像你的情况一样空时它会给出 null 。 阅读更多here