これは最良の質問ではないかもしれませんが、何が起こっているのか不思議です。Groovy addAllはリストのリストを作成します
私はグルーヴィー
def markets = []
for (int i = 0; i < marketIds.size(); i += 200) {
int from = i
int to = (i + 200) > marketIds.size() ? marketIds.size() : (i + 200)
markets.addAll(service.getMarketCatalog(args...))
}
markets
service.getMarketCatalog()
にコードのこの部分を持っているが、それは彼らのAPIで定義されたいくつかのオブジェクトのリストを返す第3部のAPIを呼び出します(オブジェクト/マップのリストを返します。私たちは、それらを得ますマップとして)。
この方法の結果は、市場がリストのリストであることが原因です。 forループが3回実行され、APIが毎回リストに応答すると、リストはオブジェクトとして市場に追加されます。
誰もが何らかのアイデアを持っていますか?たぶん結果がリスト(つまりservice.getMarketCatalog(args...) as List
)であると定義しなければならないかもしれません。それ以外の場合はオブジェクトとして扱われ、オブジェクトとしてリストに追加されますか?
'getMarketCatalog'は何を正確に返しますか?試してみるという例がありますか? –