小编Seb*_*ian的帖子

与Arrays.asList构造的列表的列表差异具有令人惊讶的结果.为什么?

在下面的代码片段运行后,您期望"zs"的值是多少?

Collection<Integer> xs = Arrays.asList(1,2,3);
int[] ys = {1};
List<Integer> zs = new ArrayList<>(xs);
zs.removeAll(Arrays.asList(ys));
Run Code Online (Sandbox Code Playgroud)

我原本期望一个包含2和3的列表.但是,在Eclipse 4.5 M7中使用JDK 1.8.0_25它是一个包含1,2,3的列表.删除无效.但是,当我将"ys"指定为非原始数组时,我得到了预期的结果:

Collection<Integer> xs = Arrays.asList(1,2,3);
Integer[] ys = {1};
List<Integer> zs = new ArrayList<>(xs);
zs.removeAll(Arrays.asList(ys));
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

java java-collections-api

1
推荐指数
1
解决办法
51
查看次数

标签 统计

java ×1

java-collections-api ×1