list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.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();??
?
?
 相关文章
                            相关文章