A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

contains的底层原理就是equalis,怎么调用啊?
看那个视频,看了两遍,有点迷糊,搞不懂,他是怎么去用的

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

3 个回复

倒序浏览
list.contains(o),系统会对list中的每个元素e调用o.equals(e) 方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false。建议覆盖equals方法。
  1.   public boolean equals(Object obj) {
  2.              if (this == obj)
  3.                  return true;
  4.              if (obj == null)
  5.                  return false;
  6.              if (getClass() != obj.getClass())
  7.                  return false;
  8.              final Order other = (Order) obj;
  9.               if(this.getOrderid()!=other.getOrderid())
  10.                  return false;
  11.              return true;
  12.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 我能驾驭住 于 2012-5-21 12:13 编辑

ok,谢谢!好像明白了
系统会对list中的每个元素e调用o.equals(e) 方法
回复 使用道具 举报
胥江 发表于 2012-5-21 12:09
list.contains(o),系统会对list中的每个元素e调用o.equals(e) 方法,加入list中有n个元素,那么会调用n次o ...

ok,谢谢!好像明白了点
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马