赞
踩
两个集合当中相同的对象内容一致却无法移除的原因是因为两者的id或者hashcode不一致导致的,我自己的解决方法是在实体类上重写hashcode()方法和equals()方法,然后removeall()就可以了。
public class Page {
private String id;
private String name;
public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int hashCode() { int hash = 0; if (!StringUtil.isEmpty(getId())) { hash += 21 * getId().hashCode(); } if (!StringUtil.isEmpty(getName())) { hash += 21 * getName().hashCode(); } return hash; } @Override public boolean equals(Object obj) { if (obj == null || !(obj instanceof Page)) { return false; } Pagetar = (Page) obj; if (!StringUtil.isEmpty(this.getId())) { if (!this.getId().equals(tar.getId())) { return false; } } if (!StringUtil.isEmpty(this.getName())) { if (!this.getName().equals(tar.getName())) { return false; } } return true; }
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。