这可能是一个非常愚蠢的问题,我有一个java代码如下:
public Collection<Object> getCollection(){
List<Map<String,Object> listMap = getListMap();
return listMap;
}
我得到一个例外
cannot assign a value of Java.util.list<java.util.map<java.lang.String,java.lang.Object>>
to java.util.Collection<java.lang.Object>
当然错误必须有效,但为什么呢?我怎么能克服这个?
答案 0 :(得分:0)
将您的方法签名更改为Collection<Map<String,Object>>
public Collection<Map<String,Object>> getCollection(){
List<Map<String,Object>> listMap = getListMap();
return listMap;
}
答案 1 :(得分:0)
使用泛型时,请避免使用对Object
的引用。而是使用通配符?
例如,在您的情况下,将Collection<Object>
更改为Collection<?>
。
所以你的方法变成了,
public Collection<?> getCollection(){
List<Map<String,Object>> listMap = getListMap();
return listMap;
}
希望这有帮助!
答案 2 :(得分:0)
此材料对于理解泛型继承非常有用: Java Documentation 。 试试这个(它应该可以正常工作):
for (var customer of customerData)