不能将ArrayList的内容添加到相同类型的ArrayList中



我有两个数组列表:

private List<Client> clientList = new ArrayList<Client>();
private List<Client> sortedClientList = new ArrayList<Client>();

我这样排序clientList:

clientList.sort(Comparator.comparing(Client::getScore));

我想做的是"克隆"。所有的内容以相同的顺序排序到sortedClientList,但我做错了。我尝试了sortedClientList.add(clientList.sort(Comparator...sortedClientList.addAll(clientList.sort(Comparator...,但我得到了错误The method add(Client) in the type List<Client> is not applicable for the arguments (void)

我的目标是有一个排序列表,但在一个单独的对象,因此sortedClientList

方法sort对列表进行排序并不返回任何结果(即void)。

https://docs.oracle.com/javase/8/docs/api/java/util/List.html sort-java.util.Comparator——

该方法的类型为void,这意味着它不返回对象,因此您不能将其作为对象传递。

clientList.sort(...)

此方法对clientList的元素进行排序,它不会创建一个已排序的clientList的副本。

你要找的是对clientList进行排序,这里提出了一个类似的问题:数组列表

的排序复制构造

最新更新