无法对 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());
今天我想按评分对我的电影列表进行排序。我使用如下所示的排序方法,它工作正常,直到我想进行相反的排序。
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());