自定义对象数组ArrayList,重复判断,数组arraylist
分享于 点击 13920 次 点评:15
自定义对象数组ArrayList,重复判断,数组arraylist
ArrayList类的contains方法是遇到了问题,我写了一个存放WordTagInfo类的ArrayList , 在潘丹是否重复时,不生效。
if (!list.contains(new WordTagInfo(tag, match))) {
list.add(new WordTagInfo(tag, match));
}
查看源代码实现如下:
public boolean contains(Object paramObject)
{
return indexOf(paramObject) >= 0;
}
public int indexOf(Object paramObject)
{
int i;
if (paramObject == null) {
for (i = 0; i < size; i++) {
if (elementData[i] == null) {
return i;
}
}
} else {
for (i = 0; i < size; i++) {
if (paramObject.equals(elementData[i])) {
return i;
}
}
}
return -1;
}
注意红色代码片段;
补充WordTagInfo方法public boolean equals(Object obj) {
if (obj instanceof WordTagInfo) {
WordTagInfo u = (WordTagInfo) obj;
return this.tagName.equals(u.tagName);
}
return super.equals(obj);
}
相关文章
- 暂无相关文章
用户点评