java - 无法在 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()
. 所以他可以解决它,直到我尝试让它颠倒顺序?这里发生了什么?
解决方案
AFAIK,编译器中有一些错误,他们在链接时无法猜测正确的类型Comparator
。
在您的情况下,您可以使用方法参考来解决:
List<Movie> result = movieRepository.findAll();
result.sort(Comparator.comparing(Movie::getRating).reversed());
推荐阅读
- flutter - 响应式材质按钮小部件颤动
- javascript - 如何使用 Vue Test Utils 测试 Vue 子组件中是否存在 HTML 元素?
- xamarin - 播放 Youtube 视频宽度 LibVLCSharp + xamarin 形式
- .net - 通过 url 在 IIS 中限制请求速率
- c# - TS003: Error, TS001: Please go to Tools->Azure Services Authentication, 重新认证你要使用的账号
- python - 熊猫替换似乎不适用于 inplace=True 并且没有分配
- php - Laravel中的多表Mysql联合查询
- bash - 使用 Dockerfile CMD 找不到命令
- nuxt.js - 单击外部元素时如何隐藏元素?
- docker - 无法使用 Ctrl-C 停止我的 Docker 容器