我从同一个数组中创建了两个列表,并对其中一个进行了排序。当我尝试更改其中一个列表时,另一个列表也被更新了。
List<Integer> list = Arrays.asList(ar);
List<Integer> sorted = Arrays.asList(ar);
Collections.sort(sorted);
list.set(0,10000000); //changes sorted also
我花了一段时间才明白,下面提到的代码是可行的。
List<Integer> sorted = new ArrayList<Integer>(Arrays.asList(ar));
我想知道为什么我的第一个尝试失败了?我创建了两个分离的列表,为什么它们都发生了变化?Java 在这里如何分配值给变量?