我得到了这个代码:
public Class Car;
{
private String name;
public int number;
public Car(String name, int number)
{
this.name = name;
this.number = number;
}
// this class also got getters and setters
然后我又上了一节课:
public class CarList
{
private Collection<Car> cars;
public CarList()
{
cars = new HashSet<>();
}
public boolean insertCar(Car car)
{
return cars.add(car);
}
然后代码继续使用其他一些方法,但它们没有问题。例如,如果我创建了两个 class 实例Car
,car1(mazda,1)
然后car2(porsche,2)
我调用了 method insertCar
,一切正常,方法返回,true
因为有两辆车的名称和编号不同。
但是,如果创建例如car1(mazda,1)
然后car2(porsche,1)
方法也返回true
,尽管汽车的数量是相同的。
编辑:所以我的问题是当我尝试“添加”具有相同编号和相同名称的汽车时如何强制方法返回false
(那么@Override equals()方法将如何改变)?