java - 如何对对象类型列表进行排序

标签 java list collections comparator

玩家类已在前面定义。我想根据特定属性对 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)); 

关于java - 如何对对象类型列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586167/

相关文章:

python - 计算条目一中另一个列表中的列表中的单词

python - 匹配列表中的多个单词

c# - 将 List<T> 序列化为 XML,并将 XML 反转为 List<T>

xml - 自定义 XStream 输出

collections - 这些功能在Kotlin Collections标准库中是重复的,还是有细微的差异?

java - 在末尾附加空消息时显示资源 ID,而不是字符串

java - 监听另一个组件中的事件并等待回复

java - 不安全操作如何解决?

java - 启动 Quartz Scheduler 而不触发触发器

java - 如何根据谓词有效地将对象从一个 Java 集合传输到另一个集合?