首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java comparator.comparing(o->x).reversed不工作

Java comparator.comparing(o->x).reversed不工作
EN

Stack Overflow用户
提问于 2021-05-31 23:09:57
回答 1查看 76关注 0票数 0

我有一个实现了comparTo的类Country,并定义了一个comparTo方法。

我正在尝试对国家/地区项目的集合(ArrayList)进行排序。

代码语言:javascript
运行
复制
Collections.sort(Mylist,Comparator.comparing(Country::getCountryName)) // Works
Collections.sort(Mylist, Comparator.comparing(Country::getCountryName).reversed()) // Works
Collections.sort(Mylist, Comparator.comparing(o-> o.getCountryName())) //Works
Collections.sort(Mylist, Comparator.comparing((o-> o.getCountryName())).reversed()) //Does not works

我不明白为什么最后一个不能工作,我的集成开发环境告诉我,一旦我添加了.reversed()并拒绝调用getCountryName()方法,o就是对象类型。

但是,它通常被检测为没有.reversed()的国家/地区类型。

我不知道为什么。特别是在使用::表示法的情况下。

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 23:28:31

代码语言:javascript
运行
复制
Collections.sort(listePays, Comparator.comparing((Country o) -> o.getCountryName()).reversed())

是正确的语法。有关更多解释,请参阅Thomas评论。

代码语言:javascript
运行
复制
Collections.sort(Mylist, Comparator.<Country, String>comparing(o ->o.getCountryName()).reversed())

或者像Holger建议的那样:

代码语言:javascript
运行
复制
Collections.sort(Mylist,Collections.reverseOrder(Comparator.comparing(o -> o.getCountryName())))

代码语言:javascript
运行
复制
Collections.sort(listePays,Comparator.comparing(o -> o.getCountryName(), Comparator.reverseOrder()))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67776297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档