List<Map<String, String>> recordMapList = new ArrayList<HashMap<String,String>>();
上面一行给出了错误:类型不匹配:不能从ArrayList的转换>目录>
但问题消失,如果使用HashMap中,而不是在地图左侧。有人能告诉我为什么会这样。我需要有左侧包含地图,因为我可能会使用到分配的LinkedHashMap相同的变量中右击侧像,
List<Map<String, String>> recordMapList = new ArrayList<LinkedHashMap <String,String>>();
请帮忙。
虽然ArrayList
是一个子类List
,并且Map
是的一个子类HashMap
,一个List<Map>
是不是一个子类List<HashMap>
。同样,你不能施放List<HashMap>
到List<Map>
。如果我们能,这将意味着我们可以添加我们说TreeMap
我们的List<Map>
,然后将其转换为一个List<HashMap>
,从而侵犯的原合同List<HashMap>
。
个人而言,我只想用一个菱形运算符(Java的7+)如果recordMapList
立即创建-instance:
List<Map<String, String>> recordMapList = new ArrayList<>();
如果它是在其他地方只创建List
可以是ArrayList
,但其余的将是相同的。(注:你当然可以仍然使用钻石经营者在这里为好,但如果在创建实例和实际现场是分开的,我个人更喜欢使用的类型,因此它的瞬间不清楚什么类型进入名单,而无需跳转到该在代码的实际领域。)
List<Map<String, String>> recordMapList;
...
recordMapList = new ArrayList<Map<String, String>>();
在这两种情况下,您可以将您的HashMap<String, String>
实例的recordMapList
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句