当前位置: 代码迷 >> J2EE >> Java 泛型有关问题 Map<String, List<String>> data = new HashMap<String, ArrayList<String>
  详细解决方案

Java 泛型有关问题 Map<String, List<String>> data = new HashMap<String, ArrayList<String>

热度:1192   发布时间:2016-04-17 23:15:45.0
Java 泛型问题 Map<String, List<String>> data = new HashMap<String, ArrayList<String>
Map<String, List<String>> data = new HashMap<String, ArrayList<String>>();

报Type mismatch: cannot convert from HashMap<String,ArrayList<String>> to  Map<String,List<String>>

为什么Map里的list就不能使用转型了

分太少了,大神们不要介意啊
------解决思路----------------------
报错原因是因为泛型定义和实现的类型不一致导致的,可以这样定义:
Map<String, List<String>> data = new HashMap<String, List<String>>();
用的时候data.put("aaa",new ArrayList<String>())

当然,非要定义的时候较劲,可以这样写:Map<String, ? extends List<String>> data = new HashMap<String, ArrayList<String>>();

  相关解决方案