使用HashSet存储自定义类对象时为什么要重写equals和hashCode方法?
在Java集合的运用中,HashSet抽象类实现了Set接口,我们可以通过HashSet存储Java中定义过的类创建的对象,当然也可以存储我们自定义的类创建的对象。
但是在存储自定义类创建的对象时,就会遇到实际问题导致的漏洞,hash的是产生的对象,并不是对象里面的值,当产生两个对象时,他们里面的值却是相同的,这就会插入两个相同的值进入集合,这不是我们想要的,因此需要重写equals和hashCode方法。
我们和可以对将要存入的对象的值进行hash