`
chenyingjie1001
  • 浏览: 18546 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

List中contains()的运用

    博客分类:
  • java
阅读更多

list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用no.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false

//action中进行判断
public synchronized String addUser() {
		//业务逻辑的验证
		if (Util.list.contains(this.user)) {
			this.message = "已经存在相同用户,不能添加";
			return "input";
		}
//....
}

 

//model... 重写equals() 
  @Override
	  public boolean equals(Object obj) {
		if (obj != null && obj instanceof User
				&& ((User) obj).getName().trim().equals(this.name.trim())
				&& ((User) obj).getAddress().trim().equals(this.address.trim()))
			return true;
		else {
			return false;
		}
	}
还要重写hashcode();
  

 

 

0
1
分享到:
评论
2 楼 chenyingjie1001 2012-06-05  
xurichusheng 写道
你要重写equals(obj)方法,就还必须要重写hashCode()方法。
这2个是必须要同时出现的,缺一不可。

是啊 这个必须
在学校做的那个小项目没有用到hascode的判断 呵呵  还是实现了。
我还是去重写下。。谢了 学习了
1 楼 xurichusheng 2012-06-04  
你要重写equals(obj)方法,就还必须要重写hashCode()方法。
这2个是必须要同时出现的,缺一不可。

相关推荐

Global site tag (gtag.js) - Google Analytics