Java将Map <string,object =“”>转换为Map <string,?=“”>

时间:2017-07-25 07:46:25

标签: java java-7

我正在使用JDK 7, 如何有效转换List<Map<String,Object>> to List<Map<String,?>>

代码段如下

List<Map<String, Object>> data = fetchData(qry, providedFiltersAndParams);

List<Map<String, ?>> convertedData = new ArrayList<>();
for ( Map<String, Object> eachRow : data ) {
    convertedData.add(eachRow);
}
filler.fillData(convertedData);

fecthData返回List<Map<String, Object>>。但是,filler.fillData期望参数为List<Map<String, ?>>

我想避免创建新列表和for循环。

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

List<Map<String, Object>> data = new ArrayList<>();
filler.fillData(new ArrayList<>(data));

new ArrayList<>(data)将对象复制到一个新的ArrayList中,该列表直接调整List<Map<String, ?>>的签名。