当你尝试添加ArrayList元素时,程序会提示它存在,尽管它是新的,可能是因为以下几个原因:
解决这个问题的方法有以下几种:
示例代码如下:
public class MyClass {
private int id;
private String name;
// 构造方法和其他代码
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
MyClass myClass = (MyClass) obj;
return id == myClass.id && Objects.equals(name, myClass.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
}
示例代码如下:
ArrayList<MyClass> list = new ArrayList<>();
MyClass element = new MyClass();
if (!list.contains(element)) {
list.add(element);
}
通过以上方法,你可以避免向ArrayList中添加重复元素的问题。
领取专属 10元无门槛券
手把手带您无忧上云