0
点赞
收藏
分享

微信扫一扫

Generic Array Creation 创建一个List<Character>[] 类型数组出错。以及Arrays.fill传递的是引用


做一个题目的时候发现这个问题,报错如标题,无法通过编译。


文中博主给出了详细的解释

意思就是:泛型和数组不能一起用,如果想用的话考虑这样写。

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>();
}

举报

相关推荐

0 条评论