如果这个对象是自己定义的, 可以改写对象的 equal方法,就能实现了
@Override
public boolean equals(Object obj) { //重写equals方法
boolean flag = true;
if (obj instanceof List) {
Listlist = (List ) obj; //传入的是多个Test对象
for (Test test : list) {
if (test != this) { //这个!= 可以换成对象里的具体属性对比,这里仅做示例
flag = false; //这里示例的意思是,必须全部相等,有一个不等,就返回false
break;
}
}
}
return flag;
}
public boolean equals(Object... obj) { //新加的此类独有方法
boolean flag = true;
for (Object object : obj) {
if (object != this) { //这个!= 可以换成对象里的具体属性对比,这里仅做示例
flag = false; //这里示例的意思是,必须全部相等,有一个不等,就返回false, 可以根据需要改成或 和 且的关系
break;
}
}
return flag;
}
public static void main(String[] args) {
Test t = new Test();
//默认继承但被重写的方法
t.equals(Arrays.asList(new Test(), new Test()));
//自定义的比较方法
t.equals(new Test(), new Test());
}
多个equals()比较时,可以了解下contains(),contains是是否包含的意思,左边的对象相当于是一个容器