java - 如何对对象类型列表进行排序
问题描述
播放器类已在前面定义。我想根据特定属性对 Player 类型的对象列表进行排序。但是我收到以下语句的错误:')'
Comparator <Player> compareBydefensiveDuel= (Player p1, Player p2)->(p1.getD().compareTo(p2.getD()));
我也尝试过以下语句:
Collections.sort(PlayerList,Comparator.comparing(Player ::getD());
PlayerList.sort(Comparator.comparingDouble(Player::getD()));
在所有这些情况下,它都要求在 Player 之后使用 ')'。如何解决这个问题?
解决方案
使用 java 8 方法参考,不得使用括号
代替 Player::getD() 使用 Player::getD
Collections.sort(PlayerList,Comparator.comparing(Player::getD));
推荐阅读
- c# - 有没有一种简单的方法来产生 IEnumerable 中的所有元素
- java - JTextPane 和 UndoManager
- javascript - 如何同时显示月视图和周视图
- postgresql - 创建实体化视图时如何添加具有不同值的列?
- amazon-s3 - AWS S3 静态网站刷新后,转到主页
- java - java中的多态应用
- python - 从 Selenium 的跨度类中选择项目
- react-native - React Native - 异步/等待操作不会被触发
- ansible - Ansible - 来自编排主机脚本的信息
- jquery - 如何显示带有突出显示日期的 jquery 日历并禁止单击(只读)