0
好吧,我確定我在這裏做錯了什麼。Groovy Array.addAll方法從原始數組中刪除元素
result = []
for (aMp in arMap) {
println("0 " + result)
println("1 " + aMp)
println("2 " + delegate.findSingleMap(aMp))
result.addAll(delegate.findSingleMap(aMp))
println "3 " + result
}
return result
println的結果如下:(我有2個元素arMap,所以它打印四個值的2倍)
0 []
1 [ID:XXX, Type:4]
2 [[First:21/Nov/2013, Type:4, error code:SXR07, ID:XXX, Test ID:5]]
3 [[First:21/Nov/2013, Type:4, error code:SXR07, ID:XXX, Test ID:5]]
0 [[First:21/Nov/2013, Type:4, error code:SXR07, ID:XXX, Test ID:5]]
1 [ID:YYY, Type:4]
2 [[First:12/Oct/2012, Type:4, error code:SXR07, ID:YYY, Test ID:6]]
3 [[First:12/Oct/2012, Type:4, error code:SXR07, ID:YYY, Test ID:6]]
正如你可以正確地看到findSingleMap功能的工作,但第二次使用AddAll時,我的結果數組丟失值XXX。
我在做什麼錯?
你不是所有的代碼。從0開始的字符串是從哪裏來的? – talex 2014-09-19 10:44:07
@talex剛添加。我想知道如果結果在下一個週期開始之前重置,並且我添加了print – SeraphimFoA 2014-09-19 10:44:51
,您的'findSingleMap'是否也可以使用變量'result'?使用你的代碼的簡化版本適用於我(groovy 2.2.1),並且'addAll'按照廣告的方式工作。 – cfrick 2014-09-19 11:20:08