博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java List集合中contains方法总是返回false
阅读量:6503 次
发布时间:2019-06-24

本文共 1454 字,大约阅读时间需要 4 分钟。

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

 

转自:

 

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

你可能感兴趣的文章
matlab建立桌面图标,在ubuntu16.04上创建matlab的快捷方式(实现方法)
查看>>
smarty使用php代码,笑谈配置,使用Smarty技术_php
查看>>
oracle数据实际值限制,c# – Oracle数据库TNS密钥“数据源”的值长度超过了’128’的限制...
查看>>
silk v3 decoder php,解码转换QQ微信的SILK v3编码音频为MP3或其他格式
查看>>
linux不能访问80端口,lunux开放80端口(本地访问不了linux文件可能是这个原因)...
查看>>
android单位转换小程序,微信小程序中rpx与rem单位转换
查看>>
ps切图教程 android,PS前端切图完整教程
查看>>
html显示服务器状态,显示服务器时间并一直显示(html代码)
查看>>
在线html代码优化,网站seo优化html代码方法
查看>>
HTML如何把输入框变成必填值,required输入框为必填项
查看>>
html定位有几种,POSITION定位有哪几种?各有什么特点?
查看>>
背锅侠逆袭之路
查看>>
演示:使用协议分析器取证IPv6的报文结构
查看>>
oracle 11gr2 rac中的4种IP解说
查看>>
为什么你找不到工作?
查看>>
20 个免费的 jQuery 的工具提示插件:
查看>>
汇编语言的应用
查看>>
device platform 相应的表
查看>>
php des 加密解密实例
查看>>
【Mac】Mac键盘实现Home, End, Page UP, Page DOWN
查看>>