2016-06-14 101 views
0

我是Groovy語言的新手。有人可以向我解釋這行代碼的含義嗎?需要幫助瞭解Groovy列表

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

謝謝。

+0

這不是一張地圖,它是一張表 –

+0

Hi Tim - .withDefault {}是做什麼的?它是否用空格字符初始化一個新元素? – user1104028

回答

1

因爲它說,在the documentation

來裝飾允許當與不存在的索引值將其稱爲成長列表。當這樣的值稱爲,列表是生長在大小和默認的值是通過調用所提供的初始化封閉

有一個good blog post about it here

+0

但是,當我提供的例子中沒有提供閉包時,這意味着什麼? – user1104028

+0

@ user1104028,當沒有提供「null」值時將被用作默認值。 – Opal

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 

所以當其空像你的情況給。 閱讀全文here