Object类是所有类的父类,也就是说所有类都是object类的子类可以使用Object里的方法。
equals()和hashCode()是Object包含的方法
==和equals的区别和联系
==和equals()都是用于判断是否相等
基本数据类型只能用==判断其是否相等,引用数据类型用==判断的是其指向地址是否相等
equals()只能在引用数据类型里使用,Object类当中的equals()方法还是用的==比较变量指向地址是否相等
hashCode()
介绍
hashCode()本身其实是一个native方法,使用c++实现
作用
hashCode()将用户的对象的地址映射为一个int类型的数据
这样用户的对象就可以存储到hash表里
同时可以从hash表当中快速定位和查询对象
为什么重写equals()方法一定要重写hashCode()方法
如下图,equals()可以被重写
保证hashCode()和equals()判断结果一致