首页 > 解决方案 > 无法在 java 中反转 ArrayList 的排序

问题描述

今天我想按评级对我的电影列表进行排序。我使用像下面这样的排序方法,它工作正常,直到我想做一个相反的顺序。

List<Movie> result = movieRepository.findAll();
result.sort(Comparator.comparing(m->m.getRating()));

但是当我尝试做这样的事情时,这很完美:

 List<Movie> result = movieRepository.findAll();
 result.sort(Comparator.comparing(m->m.getRating()).reversed());

它向我表明:Cannot resolve method getRating(). 所以他可以解决它,直到我尝试让它颠倒顺序?这里发生了什么?

标签: javasortingreverse

解决方案


AFAIK,编译器中有一些错误,他们在链接时无法猜测正确的类型Comparator

在您的情况下,您可以使用方法参考来解决:

List<Movie> result = movieRepository.findAll();
result.sort(Comparator.comparing(Movie::getRating).reversed());

推荐阅读