为什么对转换数组生成的列表进行排序也会影响原始数组

why sort a list generated from converting an array also affects the original array

我有一个数组,我将其转换为列表,然后对该列表进行排序。我遇到的问题是我不明白为什么原始数组也被排序了。见下文和输出

Output:
[0, 10, 2, abc]
[0, 10, 2, abc]

我很好奇为什么数组也被排序了?提前致谢

Arrays.asList() 方法 returns 提供的数组周围的包装器 List 对象。返回的包装器 List 有一些限制,例如您不能调用 add() 方法,因为后备数组不支持调整大小。

如果您想创建一个独立于原始数组的新 List 对象,您可以使用 java.util.ArrayList:

String[] array = { "abc", "2", "10", "0" };
List<String> list = new ArrayList<>();
Collections.addAll(list, array);
Collections.sort(list);
System.out.println(list); // [0, 10, 2, abc]
System.out.println(Arrays.toString(array)); // [abc, 2, 10, 0]