我正在尝试像这样对我的对象列表进行排序:List<UsersDataFoundTo> mergedUsers = mergeUsersFound(ldapUsers, foundUsers);return mergedUsers.sort((UsersDataFoundTo h1, UsersDataFoundTo h2) -> h1.getLastName().compareTo(h2.getLastName()));在 return 语句中我得到一个错误:Incompatible types.Required: java.util.List<UsersDataFoundTo>Found:void那我做错了什么?
2 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
更容易写成:
mergedUsers.sort(Comparator.comparing(UsersDataFoundTo::getLastName))
并且sort
有一个void
返回类型,所以基本上做一个:
return mergedUsers;

温温酱
TA贡献1752条经验 获得超4个赞
对于可重用,我认为类 UsersDataFoundTo 应该实现 Comparable 并覆盖 compareTo 函数。
class UsersDataFoundTo implements Comparable<UsersDataFoundTo> {
private String lastNam;
public String getLastNam() {
return lastNam;
}
public void setLastNam(String lastNam) {
this.lastNam = lastNam;
}
@Override
public int compareTo(UsersDataFoundTo other) {
return getLastNam().compareTo(other.getLastNam());
}
}
然后,您可以使用收集实用程序对其进行排序,如下所示:
List<UsersDataFoundTo> mergedUsers = //...
java.util.Collections.sort(mergedUsers);
我希望这会有所帮助。
添加回答
举报
0/150
提交
取消