当前位置: 首页 > 编程日记 > 正文

java List集合中contains方法总是返回false

 
ArrayList的contains方法
java
今天在用ArrayList类的caontains方法是遇到了问题,我写了一个存放User类的ArrayList  但在调用list.contains(user)时总是返回false。 去看了下ArrayList的源码,源码如下: 
Java代码  
public boolean contains(Object o) {   return indexOf(o) >= 0;   }   public int indexOf(Object o) {   if (o == null) {   for (int i = 0; i < size; i++)   if (elementData[i]==null)   return i;   } else {   for (int i = 0; i < size; i++)   if (o.equals(elementData[i]))   return i;   }   return -1;   }  
[java] view plaincopy
public boolean contains(Object o) {  return indexOf(o) >= 0;  }  public int indexOf(Object o) {  if (o == null) {  for (int i = 0; i < size; i++)  if (elementData[i]==null)  return i;  } else {  for (int i = 0; i < size; i++)  if (o.equals(elementData[i]))  return i;  }  return -1;  }  发现在contains方法会调用 o.equals(elementData[i])方法,其中elementData[i]是个object类的实例。也就是说我在调用list.contains(user)时实际上比较的是user.equals(object) 这当然会返回false。 正确的方法,在User类中改写equals方法。 改写的代码如下: 
Java代码  
public boolean equals(Object obj) {   if (obj instanceof User) {   User u = (User) obj;   return this.username.equals(u.username)   && this.password.equals(password);   }   return super.equals(obj);  

转自:http://blog.csdn.net/witsmakemen/article/details/7323604

转载于:https://www.cnblogs.com/tony-yang-flutter/p/list_contains.html

相关文章:

营销自动化的4大预测分析错误

预测分析是数字营销的新领域。许多专家已经讨论了将预测分析与营销自动化工具&#xff08;如HubSpot和Marketo&#xff09;合并的好处。 将预测分析整合到用户的营销自动化策略中可能非常有益&#xff0c;但也很难执行。以下是可能会阻止其实施的一些常见的错误&#xff1a; 1.…

Prolog学习:数独和八皇后问题

上一篇简单介绍了下Prolog的一些基本概念&#xff0c;今天我们来利用这些基本概念解决两个问题&#xff1a;数独和八皇后问题。 数独 数独是一个很经典的游戏&#xff1a; 玩家需要根据nn盘面上的已知数字&#xff0c;推理出所有剩余空格的数字&#xff0c;并满足每一行、每一列…

每年节省170万美元的文档预览费用,借助机器学习的DropBox有多强​?

【CSDN 编者按】Dropbox 借助机器学习的预测功能&#xff0c;每年能为公司节省了一百多七十多万美元的基础架构成本。非常了不起的成就。本文&#xff0c;一起来看一看 Dropbox 采用机器学习的经过&#xff0c;以及分析一下其中的利弊。译者 | 弯月 责编 | 张文出品 | CSDN&a…

asp.net 对xml文件的读写,添加,修改,删除操作

asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using…

阿里重金投数梦工场 布局PaaS动了谁的奶酪

就目前云计算市场来看&#xff0c;巨头的争夺表面上还在IaaS激战&#xff0c;但实际上他们对PaaS也在默默布局。6月8日&#xff0c;PaaS相关服务商数梦工场宣布完成光大实业资本、阿里巴巴等公司共同投资的7.5亿元A轮融资。值得注意的是&#xff0c;阿里巴巴是几位投资方中唯一…

ASP.net中太长的数据缩略显示

问题&#xff1a;用<%# DataBinder.Eval(Container.DataItem,"NewsID"&#xff09;%>显示数据的&#xff0c;如果标题太长了怎么规定字数&#xff0c;多余的用"..."代替解决方法&#xff1a; 1.使用后台代码解决&#xff1a; cs文件代码&#xff1a;…

再见 for 循环!pandas 提速 315 倍~

for是所有编程语言的基础语法&#xff0c;初学者为了快速实现功能&#xff0c;依懒性较强。但如果从运算时间性能上考虑可能不是特别好的选择。本次东哥介绍几个常见的提速方法&#xff0c;一个比一个快&#xff0c;了解pandas本质&#xff0c;才能知道如何提速。下面是一个例子…

UVa 374 - Big Mod

题目大意&#xff1a;计算R BP mod M&#xff0c;根据模运算的性质计算。 正常计算会超时&#xff0c;可以用分治的思想降低时间复杂度。不过如果遇到00&#xff0c;结果...话说00的结果是1吗&#xff1f;忘了都... 1 #include <cstdio>2 3 int powMod(int base, int ex…

微软在慕尼黑设立欧洲首个物联网实验室

北京时间3月30日晚间消息&#xff0c;微软今日在慕尼黑设立了其在欧洲的首个物联网实验室。在此之前&#xff0c;微软已经在雷德蒙(Redmond)总部和中国深圳设立了物联网实验室。 慕尼黑是德国许多知名大企业的故乡&#xff0c;如宝马和西门子等。在此之前&#xff0c;思科和IBM…

linux的strace命令

linux的strace命令 strace 命令是一种强大的工具&#xff0c;它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息&#xff0c;而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . …

明年,我要用 AI 给全村写对联

作者 | 神经小兮来源 | HyperAI超神经春节已经过完&#xff0c;你是否还沉浸在年味里&#xff1f;到腊月二十九、三十&#xff0c;家家户户贴上了 红红的春联&#xff0c;春节就正式拉开了序幕。春联也称为「对联」、「门对」、「楹联」&#xff0c;是汉语所独有的一种艺术形式…

C++实现int与string之间的相互转换

2019独角兽企业重金招聘Python工程师标准>>> c 利用stringstream实现int与string类型的相互转换&#xff0c;记录在此&#xff0c;以备后用 #include<iostream> #include<sstream> #include<string>using namespace std;string add_int(const st…

逆变器的技术创新 让光伏电站更具发展前景

曾几何时&#xff0c;光伏发电因为光照强度和温度的变化&#xff0c;逆变器输出功率波动大&#xff0c;对电网产生冲击&#xff0c;而被称为垃圾电而受到限制。随着技术的进步&#xff0c;光伏逆变器完善了多种保护功能&#xff0c;增加了低&#xff08;零&#xff09;电压穿越…

8个免费实用的C++GUI库

C标准中并没有包含GUI&#xff0c;这也使得C开发图形化界面需要依赖于第三方的库。实际上&#xff0c;图形界面恰恰是C的强项&#xff0c;小到平常使用的各类桌面软件&#xff0c;大到魔兽世界这样的游戏&#xff0c;都是C擅长的地方。C之所以能做到这一点&#xff0c;原因在于…

.Net2.0 使用ConfigurationManager读写配置文件

.net1.1中如果需要灵活的操作和读写配置文件并不是十分方便&#xff0c;一般都会在项目中封装一个配置文件管理类来进行读写操作。而在.net2.0中使用ConfigurationManager 和WebConfigurationManager 类可以很好的管理配置文件&#xff0c;ConfigurationManager类在System.Conf…

举个例子,如何用GCN图卷积神经网络实现摔倒监测?

作者 | 李秋键责编 | 寇雪芹头图 | 下载于视觉中国引言近几年来深度学习的发展越来越火热&#xff0c;其中最为典型的就是半监督学习的新研究进展GCN。由Kipf和Welling提出的GCN被证明是一种有效的图半监督学习框架应用&#xff0c;如社会、医疗、商业和交通网络分析&#xff0…

数据中心节能大法 —— 尽在上海11月中国数据中心展

根据调研机构451Research的预测&#xff0c;全球数据中心托管市场2018年的市场规模将达到332亿美元。据悉&#xff0c;2015年我国数据中心节能改造规模已达30亿元左右&#xff0c;数据中心节能市场的空间是非常大的&#xff0c;在未来有望达到85亿元的市场空间。 根据调研机构4…

古怪的ConfigurationManager类

开始使用VS 2005&#xff0c;习惯性的使用ConfigurationSettings类来读取应用程序配置文件的信息时&#xff0c;却被编译器提示说&#xff1a;警告 1 “System.Configuration.ConfigurationSettings.AppSettings”已过时:“This method is obsolete, it has been replaced by …

最常用的css选择器及兼容性 +几个好用却不多见的 nth-child等

你也许已经掌握了id、class、后台选择器这些基本的css选择器。但这远远不是css的全部。下面向大家系统的解析css中30个最常用的选择器&#xff0c;包括我们最头痛的浏览器兼容性问题。掌握了它们&#xff0c;才能真正领略css的巨大灵活性。 1. * * { margin: 0; paddin…

对比四种爬虫定位元素方法,你更爱哪个?

作者 | 陈熹来源 | 早起Python头图 | 下载于视觉中国在使用Python本爬虫采集数据时&#xff0c;一个很重要的操作就是如何从请求到的网页中提取数据&#xff0c;而正确定位想要的数据又是第一步操作。本文将对比几种 Python 爬虫中比较常用的定位网页元素的方式供大家学习&…

2017年安全漏洞审查报告:安全补丁在不断增加,用户却不安装

软件漏洞难修复吗&#xff1f;年度FLexera漏洞审查报告显示&#xff0c;全部安全漏洞当中有81%已经拥有与之匹配的修复补丁&#xff0c;但多数常见软件项目的补丁安装率却相当低下。 作为一家面向应用程序开发商与企业客户的软件安全漏洞管理解决方案厂商&#xff0c;Flexera S…

Visual SourceSafe简明培训教程

名称Visual SourceSafe简明培训教程(Visual SourceSafe Training Short Course) 作者晨光&#xff08;Morning&#xff09; 简介对于采用Visual SourceSafe 6.0作为版本控制工具的项目及产品开发&#xff0c;本教程针对不同用户角色&#xff0c;提供有关该软件的若干使用指导…

水母智能联合蚂蚁森林、犀牛智造等,用AI助力非遗出圈,39万人开工得“福”

如今过年越来越有年味了&#xff0c;许多淡出已久的中国传统年俗&#xff0c;以更有趣、更年轻新潮、更科技的方式回到了大家身边。集五福、写福字、贴福字&#xff0c;挂福饰品&#xff0c;当然还有接“福袋”&#xff01;人工智能实现智能设计已经相当成熟&#xff0c;已有微…

绿色信托任重道远 应建立补偿机制?

作为绿色金融的分支之一&#xff0c;绿色信托面临的状况不如绿色信贷、绿色债券&#xff0c;整体规模尚小&#xff0c;且监管方面的鼓励措施未有明确&#xff0c;甚至连概念都尚未统一。 日前&#xff0c;北京大学法学院非营利组织法研究中心与中航信托联合发布《2016年绿色信托…

解读C#正则表达式

多少年来&#xff0c;许多的编程语言和工具都包含对正则表达式的支持&#xff0c;.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类&#xff0c;而且它们也都与未来的Perl 5中的规则表达式兼容。 此外&#xff0c;regexp类还能够完成一些其他的功能&am…

wpa_supplicant学习

2019独角兽企业重金招聘Python工程师标准>>> interface gtk makefile wrapper buffer methods 目录(?)[-] 本来以为这个东西只有在Atheros的平台上用的突然发现Ralink的平台也可以用甚至还看到还有老美把这个东西往android上移植看来是个好东西学习一下 官方…

一张图,看编程语言十年热度变化

作者 | 叶庭云来源 | 修炼Python头图 | 下载于视觉中国什么是 TIOBE 排行榜TIOBE 排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量&#xff0c;并使用搜索引擎&#xff08;如Google、Bing、Yahoo!&#xff09;以及Wikipedia、Amazon、YouTube 统计出排名数据&…

小扎的野心不止做社交 市政厅的上线说明了这一点

一个月前&#xff0c;扎克伯格刚在一封6千字长信里宣布了自己要做一个全球社区的理想&#xff0c;日前Facebook就上线了个叫“市政厅”的政务服务功能。 美国的用户在“市政厅”的功能页填写完自己的地理位置信息之后&#xff0c;可以看到当地政府官员的名单&#xff0c;包括美…

C#调用存储过程简单完整例子

CREATE PROC P_TEST Name VARCHAR(20), Rowcount INT OUTPUT AS BEGINSELECT * FROM T_Customer WHERE NAMENameSET RowcountROWCOUNT END GO ---------------------------------------------------------------------------------------- --存储过程调用如下: -------------…

高手的习惯:pythonic风格代码

来源 | Python大数据分析责编 | 寇雪芹头图 | 下载于视觉中国什么是pythonicpythonic是开发者们在写python代码过程中总结的编程习惯&#xff0c;崇尚优雅、明确、简单。就好比中文的笔画&#xff0c;讲究先后顺序&#xff0c;最符合文字书写的习惯。因为是习惯&#xff0c;不是…