做一个题目的时候发现这个问题,报错如标题,无法通过编译。
文中博主给出了详细的解释
意思就是:泛型和数组不能一起用,如果想用的话考虑这样写。
List[] list = new ArrayList[26];
Arrays.fill(list, new ArrayList<Character>());
但是需要注意Arrays.fill(list,new ArrayList<Character>());这个实现是
public static void fill(Object[] a, Object val) {
for (int i = 0, len = a.length; i < len; i++)
a[i] = val;
}
这样初始化的话会把所有的都初始化成一个对象,只有一个引用嘛。
如果想要添加不同的list
需要这样。
for(int i = 0; i < list.length; i++) {
list[i] = new ArrayList<Character>();
}