无法对 java 中的 ArrayList 进行反向排序

Can not reversed sort of ArrayList in java

今天我想按评分对我的电影列表进行排序。我使用如下所示的排序方法,它工作正常,直到我想进行相反的排序。

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()。这样他就可以解决它,直到我尝试将其颠倒顺序为止?这是怎么回事?

AFAIK,编译器中存在一些错误,导致他们在链接 Comparator.

时无法猜出正确的类型

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

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