Java 使用Hashmap<;字符串,双精度[]>;在Android中
我正在解析XML文件并将数据写入hashmap,但是当我使用下面的代码时,我遇到了错误 方法将(String,Double[])放在类型HashMap中 不适用于参数(字符串,双精度)Java 使用Hashmap<;字符串,双精度[]>;在Android中,java,android-xml,Java,Android Xml,我正在解析XML文件并将数据写入hashmap,但是当我使用下面的代码时,我遇到了错误 方法将(String,Double[])放在类型HashMap中 不适用于参数(字符串,双精度) ArrayList mylist=new ArrayList(); 对于(inti=0;i
ArrayList mylist=new ArrayList();
对于(inti=0;i
如何更改以使其与方法定义匹配?因为您正在存储双精度值 改变
HashMap<String, Double[]> map = new HashMap<String, Double[]>();
HashMap map=newhashmap();
到
HashMap map=newhashmap();
这是因为这一行:
map.put("id",(Double.parseDouble(ParseXMLMethods.getValue(e, "EMP_ID"))));
正在尝试在需要“Double[]”类型的映射中放置“Double”类型。以下是正确的:
map.put("id",new Double[] { Double.valueOf(ParseXMLMethods.getValue(e, "EMP_ID")) });
因为您正在将单个值包装到一个数组中,该数组与映射中预期的类型相匹配。Hi Vipul感谢您的快速响应。我尝试过,当我这样做的时候,它会在mylist.add(map)附近抛出下面的语法错误。由于我的Arraylist类型为HashMapHi Matt,感谢它的大量工作,我在检索数据并将其分配给List时面临类似的问题。它会抛出错误“类型列表中的add(Double)方法不适用于参数(Double[])”ArrayList arl=(ArrayList)pd.getArrayList();List empid=new ArrayList();迭代器itr=arl.Iterator();而(itr.hasNext(){HashMap
map.put("id",(Double.parseDouble(ParseXMLMethods.getValue(e, "EMP_ID"))));
map.put("id",new Double[] { Double.valueOf(ParseXMLMethods.getValue(e, "EMP_ID")) });