【发布时间】:2021-09-28 04:58:19
【问题描述】:
我知道混合集合和数组不是一个好主意,但我不明白为什么会出现此错误。
说,
ArrayList<Integer>[] x = new ArrayList[2];
Arrays.fill(x, new ArrayList<>());
x[0].add(1);
为什么x 现在评估为ArrayList[2] { [1], [1] },即使我只是用那个值填充索引0?
不过,这很好用,
ArrayList<Integer>[] x = new ArrayList[2];
for (int i = 0; i < n; i++) {
x[i] = new ArrayList<Integer>();
}
Arrays.fill(x, new ArrayList<>());
x[0].add(1);
x 计算结果为 ArrayList[2] { [0], [] }
在第一个 Arrays.fill 方法中究竟是什么导致了这种异常?
【问题讨论】:
-
我刚刚尝试了这两段代码,在这两种情况下
x都会评估您的第一个示例,这是正确的行为。有什么问题?
标签: java arrays arraylist collections