不太确定为什么我为put方法收到此错误。帮助将不胜感激。
此代码
HashMap<ArrayList<String>,ArrayList<Integer>> magicshopitems = new HashMap<ArrayList<String>,ArrayList<Integer>>();
magicshopitems.put("items", itemlist);
magicshopitems.put("amount", itemlistamount);
产生
The method put(ArrayList<String>, ArrayList<Integer>) in the type HashMap<ArrayList<String>,ArrayList<Integer>> is not applicable for the arguments (String, ArrayList<String>)
答案 0 :(得分:1)
您正在尝试将String放入ArrayList。
您需要先将String放入列表中;
ArrayList<String> list = new ArrayList<String>();
list.add("items");
magicshopitems.put(list, itemlist);
旁注:
在构建此类集合时,最好使用父接口类。
而不是:
HashMap<ArrayList<String>,ArrayList<Integer>> magicshopitems =
new HashMap<ArrayList<String>,ArrayList<Integer>>();
您可以:
Map<List<String>, List<Integer>> magicshopitems =
new HashMap<List<String>, List<Integer>>();