我是Groovy语言的新手。有人可以向我解释这行代码的含义吗?
List<String> somevar = [].withDefault { }
感谢。
答案 0 :(得分:1)
正如the documentation中所述:
装饰一个列表,允许它在使用不存在的索引值调用时增长。使用这样的值调用时,列表的大小会增加,并且通过调用提供的init Closure将默认值放在列表中
答案 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