Java:通用类型类型不匹配语法错误

时间:2011-07-14 05:02:26

标签: java generics

我为Java JDK 1.6编写了这个声明/启动

Map<String, <? extends List<?>>> groupThemTogether = new HashMap<String, ArrayList<String[]>>();

错误发生在第一个逗号处。错误消息是

  

类型不匹配:无法转换为HashMap&lt; String,ArrayList&lt; String []&gt;&gt;映射&lt; String,List&gt;

为什么不编译?

2 个答案:

答案 0 :(得分:3)

你有太多的尖括号。试试这个:

Map<String, ? extends List<?>> groupThemTogether = new HashMap<String, ArrayList<String[]>>();

这为我编译。

答案 1 :(得分:0)

你确定吗?

这个类似的代码可以为我编译:

Map<String, ? extends List<?>> groupThemTogether = new HashMap<String, ArrayList<String[]>>();