报错The method sort(List<T>) in the type Collections is not applicable for the arguments (ArrayList<Number>)
时间: 2024-02-20 12:01:28 浏览: 296
arraylist 和 list<T> 效率对比
出现这个错误的原因是因为 `Collections.sort()` 的参数是 `List<T>` 类型,而 `ArrayList<Number>` 只是 `List` 的一个子类。解决这个问题的方法是将 `ArrayList<Number>` 转换为 `List<Number>`,即:
```
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortArrayList {
public static void sort(ArrayList<Number> list) {
List<Number> tempList = new ArrayList<>(list);
Collections.sort(tempList);
list.clear();
list.addAll(tempList);
}
}
```
在上面的代码中,我们先将传入的 `ArrayList<Number>` 转换为 `List<Number>`,然后使用 `Collections.sort()` 对 `tempList` 进行排序,并将结果存储在 `tempList` 中。最后,我们将 `tempList` 中的元素清空,并将排好序的元素添加回原始的 `ArrayList<Number>` 中。这样就完成了对 `ArrayList<Number>` 的排序。
阅读全文