我有这个方法():
private List<? extends Map<String, String>> creaListaDeGrupos() {
ArrayList resultado_padre = new ArrayList();
for (int i = 0; i < listadoPartidas.getPartidas().size(); i++) {
HashMap<String, String> padre = new HashMap<String, String>();
padre.put("posicionLista", posicionlista.get(i));
padre.put("codigo", codigoBaremo.get(i));
padre.put("descripcionBaremo", descripcionBaremoPadre.get(i));
padre.put("cantidad", cantidad.get(i));
padre.put("importe", importe.get(i));
padre.put("estado", estado.get(i));
padre.put("observaciones", observaciones.get(i));
resultado_padre.add(padre);
}
return resultado_padre
}
Lint给我的错误是:
ArrayList是原始类型。对泛型类型ArrayList的引用应该参数化
但我无法做到
ArrayList<String> resultado_padre = new ArrayList();
因为这不是字符串的字符串,所以会出现什么类型的萧条?
答案 0 :(得分:1)
您可以尝试创建要返回的相同类型:
List<HashMap<String, String>> = new ArrayList<HashMap<String, String>>();
无需声明实施类型,即ArrayList
。 List
接口更通用,因此在将变量声明为具体类型时,请问自己是否有必要。看到
Programming against interface
答案 1 :(得分:0)
private List<Map<String, String>> creaListaDeGrupos() {
List<Map<String, String>> resultado_padre = new ArrayList<Map<String, String>>() ;
for (int i = 0; i < listadoPartidas.getPartidas().size(); i++) {
Map<String, String> padre = new HashMap<String, String>();
padre.put("posicionLista", posicionlista.get(i));
padre.put("codigo", codigoBaremo.get(i));
padre.put("descripcionBaremo", descripcionBaremoPadre.get(i));
padre.put("cantidad", cantidad.get(i));
padre.put("importe", importe.get(i));
padre.put("estado", estado.get(i));
padre.put("observaciones", observaciones.get(i));
resultado_padre.add(padre);
}
return resultado_padre
}
答案 2 :(得分:0)
这将是ArrayList<HashMap<String, String>>