0

我有一个非常简单的代码片段,我在其中尝试使用 groovy 的 collect() 方法返回一个对象列表。但由于某种原因,我无法让它发挥作用。在我的日志中,我看到正在检索正确的信息,即:

[{phoneNumber=012345678, name=testing}]'

但我得到一个

cast exception : Cannot cast object:
[{phoneNumber=012345678, name=testing}]'
Could not find matching constructor for: java.util.Iterator(java.util.LinkedHashMap)**

这是我的代码

Iterator<Resource> children = null
Iterator<Resource> serviceList = null

while(serviceList.hasNext()){
    Resource child = serviceList.next()

    children = child.collect{[
    phoneNumber : child.adaptTo(ValueMap.class).get("phoneNumber", ""),
    name : child.adaptTo(ValueMap.class).get("name", "")
    ]}
}

我还尝试将孩子设置为字符串和资源,但无济于事。任何想法,我已经在这个小编辑上敲了几个小时。

4

1 回答 1

2

children应该List不是Iterator

另外,你做错了你之前的问题,孩子只是最后一个元素serviceList

于 2013-06-23T07:06:24.437 回答