Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Hashmap<;字符串,双精度[]>;在Android中_Java_Android Xml - Fatal编程技术网

Java 使用Hashmap<;字符串,双精度[]>;在Android中

Java 使用Hashmap<;字符串,双精度[]>;在Android中,java,android-xml,Java,Android Xml,我正在解析XML文件并将数据写入hashmap,但是当我使用下面的代码时,我遇到了错误 方法将(String,Double[])放在类型HashMap中 不适用于参数(字符串,双精度) ArrayList mylist=new ArrayList(); 对于(inti=0;i

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

方法将(String,Double[])放在类型HashMap中 不适用于参数(字符串,双精度)

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(){HashMapmap=(HashMap)itr.next();empid.add(map.get(“id”);}请求您的想法。谢谢Santosh
map.put("id",(Double.parseDouble(ParseXMLMethods.getValue(e, "EMP_ID"))));
map.put("id",new Double[] { Double.valueOf(ParseXMLMethods.getValue(e, "EMP_ID")) });