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