首页 > 解决方案 > 如何对对象类型列表进行排序

问题描述

播放器类已在前面定义。我想根据特定属性对 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 之后使用 ')'。如何解决这个问题?

标签: javalistcollectionscomparator

解决方案


使用 java 8 方法参考,不得使用括号

代替 Player::getD() 使用 Player::getD

Collections.sort(PlayerList,Comparator.comparing(Player::getD)); 

推荐阅读