List<User>获取某个User的下标

User对象中有name,address,age等,List<User>是User的一个集合,怎样从集合中获取某个User的下标?indexOf()这个好像不行... User对象中有name,address,age等,List<User>是User的一个集合,怎样从集合中获取某个User的下标?indexOf()这个好像不行 展开
 我来答
GTA小鸡
高粉答主

2019-01-21 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部

List的indexOf()方法不行,是因为你没有重写User类的equals()方法,indexOf()调用Object类的equals()方法进行比较,这一方法比较的依据是两个对象的ID(地址)。

如何重写equals()方法?

追问
对,就是两个对象的id不一样,那么除了重写equals()方法之外,还有木有别的方法可以获取?
追答
for(List l : list) { //list是要遍历的List<User>列表
    if(l满足特定条件) {
        return l;
    }
}

这不是首先应该考虑的做法,重写equals方法才是,不论是从标准性上还是适用性上来说。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式