package com.jsu.demo;
import java.util.ArrayList;
import java.util.Collection;
public class ha {
public static void main(String[] args) {
Collection<goods>coll=new ArrayList<>();
goods g1=new goods("Asd","54",12);
goods g2=new goods("qwe","68",105);
goods g3=new goods("iuo","102",58);
coll.add(g1);
coll.add(g2);
coll.add(g3);
goods g4=new goods("iuo","102",58);
System.out.println(coll.contains(g4));//这里是自定义的对象,所以要在自定义的javabea中重写equals方法,否则会默认使用object中的equals方法,从而造成错误
}
}
这里是自定义的对象,所以要在自定义的javabea中重写equals方法,否则会默认使用object中的equals方法,从而造成错误
在javabean类中,按住alt+insert,然后选中"equals()and hashCode()”,即可完成自动重写
如下
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
goods goods = (goods) o;
return Double.compare(price, goods.price) == 0 && Objects.equals(name, goods.name) && Objects.equals(id, goods.id);
}