equal与hashcode的说明
要判断两个对象是否相等,需要用equal来判断这两个对象的地址是否完全一样,有些情况判断两个对象是否相等只需要判断这两个对象的value是否相等,所以需要重写equal来实现,例如set容器中,不能有两个相同的对象,所以需要重写对象的equal,但当容器中的对象比较多时,需要对容器中的对象进行线性比较,性能比较低,所以需要重写hashcode,通过散射来直接找到那个对象来进行比较,如果hashcode不同,则这两个对象就不同,如果hashcode相同,则需要比较equal来判断这两个对象是否相等。
时间: 2024-10-06 01:20:25