-1

XML ファイルを解析してハッシュマップにデータを書き込んでいますが、以下のコードを使用するとエラーが発生します

「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

これは、次の行が原因です。

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 に答える