我有一个非常简单的代码片段,我正在尝试使用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", "")
]}
}
我还尝试将子设置为字符串和资源无济于事。任何想法,我都在这个小编辑上敲了几个小时。
答案 0 :(得分:2)
children
应该是List
而不是Iterator
此外,你正在做你在之前的问题中做错的事情,孩子将只是serviceList
的最后一个元素