Arrays.asList()对列表进行排序是否也会改变原始数组?

4

我注意到一个对我来说奇怪的行为,即使用Arrays.asList()检索列表进行排序时。似乎在使用Collections.sort(list)之后,原始数组也被排序了!

这是怎么可能的呢?

List<Rate> rates = Arrays.asList( arrayRates );
Collections.sort( rates, new RateEffectiveDateComparator() );
/* after that the rates list AND arrayRates array are sorted in the same way */
1个回答

9

根据Arrays.asList()的文档说明:

返回一个由指定数组支持的固定大小的列表。(返回的列表对数组的更改是“写入”的。)

你传递的数组将是列表所基于的数组。当对列表进行排序时,实际上是对数组进行排序。请查看Arrays.asList()的源代码...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接