为了账号安全,请及时绑定邮箱和手机立即绑定

Java 8 对象的排序列表

Java 8 对象的排序列表

长风秋雁 2022-05-25 16:54:20
我正在尝试像这样对我的对象列表进行排序: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;


查看完整回答
反对 回复 2022-05-25
?
温温酱

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);

我希望这会有所帮助。


查看完整回答
反对 回复 2022-05-25
  • 2 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号