-1

我正在解析 XML 文件并将数据写入 hashmap,但是当我使用下面的代码时,我遇到了错误

“HashMap 类型中的 put(String, Double[]) 方法不适用于参数 (String, double)”

ArrayList<HashMap<String, Double[]>> mylist = new ArrayList<HashMap<String, Double[]>>();
for (int i = 0; i < children.getLength(); i++) {                            

HashMap<String, Double[]> map = new HashMap<String, Double[]>();
Element e = (Element)children.item(i);
    HashMap<String, Double[]> map = new HashMap<String, Double[]>();
    map.put("id",(Double.parseDouble(ParseXMLMethods.getValue(e, "EMP_ID"))));
    mylist.add(map);
}

如何更改以使其与方法定义匹配?

4

2 回答 2

0

由于您要存储 Double 的价值。

改变

HashMap<String, Double[]> map = new HashMap<String, Double[]>();

HashMap<String, Double> map = new HashMap<String, Double>();
于 2012-06-11T14:20:40.577 回答
0

这是因为这一行:

map.put("id",(Double.parseDouble(ParseXMLMethods.getValue(e, "EMP_ID"))));

正在尝试将“Double”类型放入需要“Double []”类型的地图中。以下是正确的:

map.put("id",new Double[] { Double.valueOf(ParseXMLMethods.getValue(e, "EMP_ID")) });

因为您将单个值包装到一个数组中,该数组与您的地图中预期的类型相匹配。

于 2012-06-12T03:46:19.320 回答