Java中List.contains(Object object)方法怎么使用
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"Java中List.contains(Object object)方法怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java中L
千家信息网最后更新 2026年11月02日Java中List.contains(Object object)方法怎么使用
本篇内容主要讲解"Java中List.contains(Object object)方法怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java中List.contains(Object object)方法怎么使用"吧!
使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List
@Override public boolean equals(Object o) { // TODO Auto-generated method stub return super.equals(o); }将导致contains方法始终返回false。
查看ArrayList的contains方法的源码如下:
/** * Searches this {@code ArrayList} for the specified object. * * @param object * the object to search for. * @return {@code true} if {@code object} is an element of this * {@code ArrayList}, {@code false} otherwise */ @Override public boolean contains(Object object) { Object[] a = array; int s = size; if (object != null) { for (int i = 0; i < s; i++) { if (object.equals(a[i])) { return true; } } } else { for (int i = 0; i < s; i++) { if (a[i] == null) { return true; } } } return false; }可以看出,contains方法依据Object的equals方法来判断是否包含某一元素,继续查看Object类中的equals方法,源码如下:
public boolean equals(Object o) { return this == o; }所以,使用"=="比较对象的地址,如果是同一对象即地址相同的情况下,才会返回true,而对于对象属性值相同但地址不同的不同对象,始终返回false!
如果需要依据对象属性值是否相同来判断ArrayList是否包含某一对象,则需要重写Object的equals方法,并在equals方法中一一比较对象的每个属性值,如:
package com.feng.lejuan.entity; public class QuestionInfo { private String questionId; private String answerId; private String subQuestionId; private String result; public QuestionInfo() { super(); } public QuestionInfo(String questionId, String answerId, String subQuestionId, String result) { super(); this.questionId = questionId; this.answerId = answerId; this.subQuestionId = subQuestionId; this.result = result; } public String getQuestionId() { return questionId; } public void setQuestionId(String questionId) { this.questionId = questionId; } public String getAnswerId() { return answerId; } public void setAnswerId(String answerId) { this.answerId = answerId; } public String getSubQuestionId() { return subQuestionId; } public void setSubQuestionId(String subQuestionId) { this.subQuestionId = subQuestionId; } public String getResult() { return result; } public void setResult(String result) { this.result = result; } @Override public boolean equals(Object o) { if (o instanceof QuestionInfo) { QuestionInfo question = (QuestionInfo) o; return this.questionId.equals(question.questionId) && this.subQuestionId.equals(question.subQuestionId) && this.answerId.equals(question.answerId) && this.result.equals(question.result); } return super.equals(o); } @Override public String toString() { return "QuestionInfo [questionId=" + questionId + ", answerId=" + answerId + ", subQuestionId=" + subQuestionId + ", result=" + result + "]"; }}到此,相信大家对"Java中List.contains(Object object)方法怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
对象
相同
地址
属性
不同
元素
内容
情况
源码
学习
实用
更深
兴趣
实用性
实际
操作简单
更多
朋友
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
奇酷互联网科技
互联网高科技股票
海南购全球互联网科技
以后互联网后是啥科技
佳云科技和互联网广告
福建科技产业互联网发展
彤创互联网科技有限公司
杭州壁岐互联网科技有限公司
互联网科技研发水平
健康食品互联网创新科技园项目
明优互联网科技有限公司
互联网方面的科技前沿
南通创西澳互联网科技有限公司
2021世界互联网领先科技成果发布
互联网科技收购价值
同城互联网络科技
承德科技产业互联网平台
安徽九吞吴互联网科技有限公司
恒生科技互联网指数十大成分股
互联网科技快速发展优美句子
小米移动互联网科技园
云之行互联网科技
朗新科技与工业互联网
丰台科技园 互联网
新浪科技互联网
互联网科技公司介绍
济南华为互联网科技产业总部基地
群盈汇互联网科技有限公司
互联网风格科技公司名称
广州全民伙伴互联网科技有限公司